问题场景:
vue2后台管理项目:打包时向manifest.json文件写入一个版本号
new WebpackAssetsManifest({
// Options go here
output: "manifest.json",
writeToDisk: true,
transform: (assets) => {
assets.version = new Date().getTime();
return assets;
},
done: (manifest) => {
let html = fs.readFileSync(
path.resolve(__dirname, "dist/index.html"),
{ encoding: "UTF-8" }
);
html = html.replace(
"$__system__version__$",
JSON.stringify(manifest.toJSON())
);
fs.writeFileSync(
path.resolve(__dirname, "dist/index.html"), html, {encoding: "UTF-8",}
);
},
}),
项目部署后,使用接口获取该文件内的版本号。然后和index.html内的版本号进行对比
<script>
window.__system__version__ = $__system__version__$;
</script>
问题描述
原因分析:
当多个资源尝试输出到相同的文件名manifest.json时。构建过程中,每个资源都会生成一个或多个文件,并且通常会有一个清单文件(如manifest.json)列出所有生成的文件。如果两个或更多资源都试图写入同一个manifest.json文件,就会发生冲突,导致这个错误。
解决方案:
网上看的最多的解决方案就是:
提示:但我发现是脚手架版本问题