uni-app 打包h5 输出的js文件带有特殊字符“~”
uni-app 打包h5输出的js文件带有特殊字符“”, 导致在页面请求对应带有特殊连接符的文件时候被网关拦截报405错误。
” 进行连接的。当你把工程发布到对应环境的时候,会发现对应的js 请求,被网关拦截,因为有特殊字符“~”
图中可以看出打包之后,文件直接的公共部分默认是通过 “
解决办法: 修改webpack的打包,把对应的配置进行修改。
- 在对应的uni-app 工程的根文件处,新建一个
vue.config.js - 配置内容上可以配置
automaticNameDelimiter: "_",默认是“~“ - 也可以把name 设置为false(这样默认就走chunk_xxx 的名称了) 整个配置如下
module.exports = {
filenameHashing: true, // 文件hash
chainWebpack: (config) => {
// 发行或运行时启用了压缩时会生效
config.optimization.minimizer("terser").tap((args) => {
const compress = args[0].terserOptions.compress;
// 非 App 平台移除 console 代码(包含所有 console 方法,如 log,debug,info...)
compress.drop_console = true;
return args;
});
config.optimization.splitChunks({
automaticNameDelimiter: "_",
name: false,
});
},
};
相关参数说明关注name 与 automaticNameDelimiter 两个