我有一个项目在我的开发过程中使用 webpack 作为捆绑器和 webpack-dev-server。我使用 Html-webpack-plugin 将我的 30 pug 文件编译成 html,但是当与 webpack-dev-server 一起使用时,重新编译时间很长,可能 5 百万。似乎 webpack 编译了我所有的 pug 文件,而不是只编译我更改的文件。
这是关于我如何生成 html 文件的片段
import HtmlWebpackPlugin from 'html-webpack-plugin';
import path from 'path';
import fs from 'fs';
export const renderHtml = (programs) => {
const fileList = [];
fs.readdirSync(path.join(__dirname, `../programs/${programs}/pug/`)).forEach(file => {
if (/\.pug$/.test(file)) {
const name = `${file}`.replace('.pug', '');
fileList.push({
name,
file
});
}
});
return fileList.map(file => {
return new HtmlWebpackPlugin({
filename: file.name + '.html',
template: path.join(__dirname, `../programs/${programs}/pug/${file.file}`)
});
});
};
export default renderHtml;
我在 webpack.config.babel.js 文件中这样使用它
plugins: [
...
new VueLoaderPlugin(),
...renderHtml(programs)
]