如何防止Webpack删除输出路径中的其他文件?

时间:2017-10-23 09:36:37

标签: javascript webpack vue.js webpack-3

假设我将一些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

1 个答案:

答案 0 :(得分:1)

如果你看这里:

https://github.com/vuejs-templates/webpack/blob/17ed63b1b3a0eaaebd3f593c08c32107a7cb7e01/template/build/build.js

您可以看到正在导入名为select l.id, l.title, l.state, coalesce(r.avg_rating, 0) from listing l left join ( select listing_id, round(avg(rating), 2) as avg_rating from review where mail_approved = 1 group by listing_id ) r on r.listing_id = l.id where l.state = '$get_state' order by avg_rating desc; 的程序包:

rimraf

此软件包负责清除const rm = require('rimraf') assetsRoot。这是一件好事,因为通常当你从零开始重新运行你的构建过程时,你需要一个干净的石板开始。

我建议你不要禁用它,而是将你的文件放在另一个目录中,或者让你的Javascript生成你的文件,因为删除是在编译之前进行的。