在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ file-loader打包vue組件中的文件路徑問題

file-loader打包vue組件中的文件路徑問題

在vue組件中的less部分引用了一個jpg文件,用webpack提取css內(nèi)容,build之后dist路徑里有jpg文件,但是css里面引用的文件路徑錯誤。

//webpack.config.js
entry: {
    login: './src/login.js'
  },
output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: path.resolve(__dirname, './dist/'),
    filename: '[name].entry.js'
  },
module: {
    rules: [
    //....
      {
        test: /\.(png|jpg|gif|svg)$/,
        loader: 'file-loader',
        options: {
          name: '[name].[ext]'
        }
      }    
    ]
  },
plugins:[
    new CleanWebpackPlugin(['dist']),
    new ExtractTextPlugin('[name].css'),
    new HtmlWebpackPlugin({
      title: 'my login',
      filename:'login.html',
      template: 'src/login.html'
    })
  ]

//login.vue style部分
<style lang='less' scoped>
    div{
      background-image: url('assets/bg1.jpg');
    }
</style>

//提取的login.css文件
div[data-v-f969ecd6]{background-image:url(E:\WebRocMoS\webrocmos-front\distbg1.jpg);}

webpack.config.js里面,path,publicPath都是用的絕對路徑,生成的路徑最后應(yīng)該是dist\bg1.jpg,少了一個斜杠

一番折騰之后,輸出的路徑?jīng)]問題了,“E:\WebRocMoS\webrocmos-front\dist\bg1.jpg”。這個路徑復(fù)制到chrome是可以打開圖片的,但是,在網(wǎng)頁里面使用的時候chrome把除了第一個意外的反斜杠都處理成了轉(zhuǎn)義字符。。。
然后我又想在指定path和publicPath參數(shù)的時候,用path.posix,這樣沒有反斜杠,__dirname使用的windows路徑,所以也還是不行。

回答
編輯回答
菊外人

不糾結(jié)了,直接在publicPath這個參數(shù)那,手寫完整的絕對路徑,用“/”的絕對路徑替換坑爹的“\"。。先就這樣吧

2017年3月25日 20:07