问题是这样的:公司一个项目要变更icon,于是从服务器链接获取替换成了项目目录下一个static目录的icon
link.href = '/static/images/favicon.ico';
测试环境和预生产环境都是ok的正常加载,然后生产环境icon加载不出来,经排查发现是生产环境的nginx把static目录指向另一台服务器了,生产环境nginx不能随便修改因为怕影响别人的项目,于是有以下操作:
指向项目根目录的文件:
link.href = '/favicon.ico';
通过copy-webpack-plugin将打包的static文件移动到项目根目录:
在webpack.config.base.js文件中声明和使用copyplugin,方法是from...to...
const CopyPlugin = require('copy-webpack-plugin');
const path = require('path');
.
.
.
plugins: [
new CopyPlugin([
{ from: path.resolve(__dirname, '../static/images/favicon.ico'), to:
path.resolve(__dirname, '../hytMain') },
]),
new VueLoaderPlugin(),
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify(process.env.NODE_ENV),
PUBLIC_PATH: JSON.stringify(config.publicPath)
}
})
]
icon加载出来了,经此一事,总结原来即便是换个icon这样的事情也没有表面的那么简单,路漫漫其修远兮。
好文阅读
发表评论