是个多页面项目 多个html 打包需要打成tar包,根据环境添加vconsole
const cp = require("child_process");
class BuildTarPlugin {
apply(compiler) {
compiler.hooks.done.tap("myBuildTar", (stats) => {
if (process.argv.slice(2).includes("build")) {
cp.exec(
`tar -cvf ${process.env.VUE_APP_OUTPUT_DIR}.tar ${process.env.VUE_APP_OUTPUT_DIR}`
);
}
});
if (!process.env.VUE_APP_IS_CONSOLE) return;
compiler.hooks.compilation.tap("addVConsole", (compilation, callback) => {
compilation.plugin("html-webpack-plugin-before-html-processing", function(
htmlPluginData,
callback
) {
htmlPluginData.html = htmlPluginData.html.replace(
"</html>",
"<script src='https://unpkg.com/vconsole@latest/dist/vconsole.min.js'></script><script>var vConsole = new window.VConsole();</script></html>"
);
});
});
}
}
module.exports = BuildTarPlugin;