如何防止 Webpack 删除输出路径中的其他文件?
How to prevent Webpack from removing other files in output path?
假设我将一些 JS 资源编译为 dist/static/js:
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js'),
},
在 运行 npm run build
之前,我在 /dist/、/static/ 和 /js/ 中创建了一个文件。
运行npm run build
之后,此文件已删除。在 /static/ 和 /js/ 中创建的那个不见了。我该如何预防?
我正在使用 Vue。js/Webpack 样板文件:
https://github.com/vuejs-templates/webpack
如果你看这里:
可以看到正在导入一个名为rimraf
的包:
const rm = require('rimraf')
这个包负责清除你的assetsRoot
和assetsSubDirectory
。这是一件好事,因为通常当您从头开始重新运行 构建过程时,您希望从头开始。
我建议你不要禁用它,而是将你的文件放在另一个目录中,或者让你的 Javascript 生成你的文件,因为删除发生在编译之前。
假设我将一些 JS 资源编译为 dist/static/js:
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js'),
},
在 运行 npm run build
之前,我在 /dist/、/static/ 和 /js/ 中创建了一个文件。
运行npm run build
之后,此文件已删除。在 /static/ 和 /js/ 中创建的那个不见了。我该如何预防?
我正在使用 Vue。js/Webpack 样板文件: https://github.com/vuejs-templates/webpack
如果你看这里:
可以看到正在导入一个名为rimraf
的包:
const rm = require('rimraf')
这个包负责清除你的assetsRoot
和assetsSubDirectory
。这是一件好事,因为通常当您从头开始重新运行 构建过程时,您希望从头开始。
我建议你不要禁用它,而是将你的文件放在另一个目录中,或者让你的 Javascript 生成你的文件,因为删除发生在编译之前。