【发布时间】:2019-10-17 12:34:34
【问题描述】:
正如标题所示,当我准备好托管生产代码时,我是否应该从服务器代码中删除所有 webpack-dev-middleware 和 webpack-hot-middleware 的用法,因为它们是 dev-dependencies?最好的设置方法是什么,所以也许我不必担心这个?
这是我的服务器代码的快照:
// webpack -> HMR
const webpack = require("webpack");
const webpackConfig = require("../webpack.config");
const compiler = webpack(webpackConfig);
// webpack HMR init
app.use(
require("webpack-dev-middleware")(compiler, {
noInfo: false,
publicPath: webpackConfig.output.publicPath,
})
);
app.use(require("webpack-hot-middleware")(compiler));
...
app.get("/", async (req, res) => {
const initialContent = await serverRender();
res.render("index", {
...initialContent,
});
});
app.listen(port, () => {
console.log(`Express application listening on port ${port}`);
});
【问题讨论】:
-
@paulsm4 这不是有角度的。 HMR 不仅仅与角度相关。它是网络包。到处都在使用 Webpack。
-
我知道。我只是提到了我使用 WebPack 的一个上下文,希望它可能对 OP 有帮助。问:你知道 OP 使用 WebPack 做什么(你假设“expressJS”,这意味着“NodeJS”)?问:OP 在他的应用程序中有硬编码的 webpack 依赖项。这些可以参数化(并因此从“生产构建”中“消除”)吗?问:对于“中间件”和“热模块加载”的其他硬编码依赖项呢?
标签: javascript webpack hot-module-replacement