問題描述:vue項目打包後,文件找得到,但是引用的字體及背景圖片找不到;
解決方法:
主要是需要單獨爲 css 配置 publicPath 。
ExtractTextWebpackPlugin 提供了一個 options.publicPath 的 api,可以爲css單獨配置 publicPath 。
對於用 vue-cli 生成的項目,dist 目錄結構如下:
dist
├── index.html
└── static
├── css
├── img
└── js
經常遇見的問題是 css 中 background-image 的相對路徑不能正確的引用到 img 文件夾中。但是用 ExtractTextWebpackPlugin 的 publicPath 配置就可以。
更改 build/utils.js 文件中 ExtractTextPlugin 插件的options 配置:
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
publicPath: '../../', // 注意配置這一部分,根據目錄結構自由調整
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
詳情參考:http://blog.csdn.net/lx583274568/article/details/50898366