webpack打包之后不显示icon。解决方案如下:
有两种。
第一种方案:
1): 在build文件中找到utils.js。在utils.js里面找到如下代码
if (options.extract) {
return ExtractTextPlugin.extract(
{
use: loaders,
fallback: 'vue-style-loader'
}
)
2): 在fallback下面加入
publicPath: '../../' 即可解决。如下
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader',
// 加入下面的代码
publicPath: '../../'
})
第二种方案:
如果第一种方案无法解决,或者第一种方案utils.js里面没有publicPath。可以用下面的方式解决
在build/webpack.base.conf.js中
module:{
rules: [
...(config.dev.useEslint ? [createLintingRule()] : []),
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
// 以下是我需要解决路径问题的代码, 只需要加入publicPath: '../../
publicPath: '../../',
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
}
]
}
造成上述错误的原因是: 因为打包后woff、eot、ttf、otf的路径找不到才导致404,所以将这几个的publicPath设为'../../'再打包就可以了。