如何强制 Webpack 4 仅检测和重新编译已更改的文件
How to enforce Webpack 4 to detect and recompile only files that were changed
我添加到项目中的每个文件都会使编译变慢。
保存后重新编译项目达到9秒
我正在使用 Webpect-dev-server 模块重新编译代码。
是否有(并且应该)有一种方法可以告诉 Webpack 只重新编译所做的更改?例如 - 如果我要添加一个 <p>Something small</p>
Webpack 只需要重新编译添加的元素。
// package.json
"webpack": "^4.27.1"
"webpack-cli": "^3.1.2"
"webpack-dev-server": "^3.1.10"
// webpack.config.js
const path = require('path');
module.exports = {
entry: './entry.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
plugins: [
],
devServer: {
contentBase: './dist'
},
devtool: 'inline-source-map',
module: {
rules: [
{
test: /\.(html)$/,
use: {
loader: 'html-loader',
options: {
attrs: [':data-src']
}
}
},
{
test: /\.css$/,
use: [
'style-loader',
'css-loader'
]
}
]
}
};
我使用 require
方法错误地使用了字符串插值。这可能导致 Webpack 无法正确查找所需文件。
这是我所做的:
let pre = `./app/services/`;
let something = require(`${pre}some-service`);
这是修复:
let something = require('./app/services/some-service');
结果:
而不是 10k 毫秒编译 10 个非常简单的文件 -
第一个开发服务器运行时 300 毫秒,主要更改的编译时间为 150-200 毫秒,次要更改仅 30 毫秒。
我添加到项目中的每个文件都会使编译变慢。
保存后重新编译项目达到9秒
我正在使用 Webpect-dev-server 模块重新编译代码。
是否有(并且应该)有一种方法可以告诉 Webpack 只重新编译所做的更改?例如 - 如果我要添加一个 <p>Something small</p>
Webpack 只需要重新编译添加的元素。
// package.json
"webpack": "^4.27.1"
"webpack-cli": "^3.1.2"
"webpack-dev-server": "^3.1.10"
// webpack.config.js
const path = require('path');
module.exports = {
entry: './entry.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
plugins: [
],
devServer: {
contentBase: './dist'
},
devtool: 'inline-source-map',
module: {
rules: [
{
test: /\.(html)$/,
use: {
loader: 'html-loader',
options: {
attrs: [':data-src']
}
}
},
{
test: /\.css$/,
use: [
'style-loader',
'css-loader'
]
}
]
}
};
我使用 require
方法错误地使用了字符串插值。这可能导致 Webpack 无法正确查找所需文件。
这是我所做的:
let pre = `./app/services/`;
let something = require(`${pre}some-service`);
这是修复:
let something = require('./app/services/some-service');
结果:
而不是 10k 毫秒编译 10 个非常简单的文件 - 第一个开发服务器运行时 300 毫秒,主要更改的编译时间为 150-200 毫秒,次要更改仅 30 毫秒。