修改打包后element-ui的字体文件名;JS文件名;CSS文件名
修改这些静态文件名的原因是客户那边扫描出漏洞:字体文件名称不符合安全规则,就想办法给全部重新命名
修改字体文件
该方法不起作用——在vue.config.js里面配置打包时的fonts名称;其他场景下可能会适用记录一下
const Timestamp = new Date().getTime();
chainWebpack(config) {
config.module
.rule("fonts")
.test(/\.(woff|ttf|eot)$/)
.use("url-loader")
.loader("url-loader")
.options({
limit: 10,
outputPath: "static/fonts",
publicPath:
process.env.NODE_ENV === "production" ? "../../static/fonts" : "/", //字体文档目录 , 如element组件字体
name: `${Timestamp}.[name].[ext]`,
name: `${Timestamp}.[ext]`,
})
.end();
}
直接找源代码,改源代码:
1.直接修改字体名称,目录:node_modules/element-ui/lib/theme-chalk/fonts
2.再修改引入字体的css文件,有两个分别是index.css和base.css 目录:node_modules/element-ui/lib/theme-chalk/index.css和base.css;全局搜索element-icons名称,修改src引入的字体文件名就可以了
修改JS文件
const Timestamp = new Date().getTime();
chainWebpack(config) {
config.output.filename(`static/js/${Timestamp}.[name].js`).end();
config.output.chunkFilename(`static/js/${Timestamp}.[name].js`).end();
}
修改CSS文件
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const Timestamp = new Date().getTime();
chainWebpack(config) {
let miniCssExtractPlugin = new MiniCssExtractPlugin({
filename: `static/css/${Timestamp}.[name].css`,
chunkFilename: `static/css/${Timestamp}.[name].css`,
});
config.plugin("extract-css").use(miniCssExtractPlugin);
config.plugin("extract-css").use(miniCssExtractPlugin);
}