gpt4 book ai didi

javascript - webpack dev server 的惰性模式有什么作用?

转载 作者:可可西里 更新时间:2023-11-01 01:34:45 25 4
gpt4 key购买 nike

我正在运行我的 webpack-dev-server

webpack-dev-server --lazy --inline --progress --colors --port 8082

但是,当我的浏览器尝试访问 bundle.js 时,这会在我的浏览器中显示 404 错误。

其他一切似乎都很好,因为如果我将 --lazy 替换为 --hot,一切正常。

--lazy 到底做了什么?

更新:

这是 webpack 文件 -

module.exports = {
devtool: "source-map",
entry: [
'webpack/hot/only-dev-server', // "only" prevents reload on syntax errors
"./app/main.js"
],
output: {
path: "./js",
filename: "bundle.js"
},
module: {
loaders: [
{ test: /\.css$/, loader: "style-loader!css-loader"},
{ test: /\.js$/, exclude: /node_modules/, loaders: ["react-hot"] }
]
}
};

最佳答案

经过调试,我发现在webpack-dev-middleware中(在webpackDevMiddleware函数中)有如下if语句:

// in lazy mode, rebuild on bundle request
if(options.lazy && (!options.filename || options.filename.test(filename))) {
rebuild();
}

rebuild() 函数永远不会执行,因为 options.filename.test(filename) 总是返回 false。那是因为 filename 值有一个斜杠(“/bundle.js”)。因此,我更改了 options.filename 正则表达式以允许使用此斜杠并解决了该问题。

我在github上做了一个拉取请求: https://github.com/webpack/webpack-dev-middleware/pull/62

关于javascript - webpack dev server 的惰性模式有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34960032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com