我是在生产构建期间还是在准备生产时删除 webpack-dev-server 和 hot-module 中间件代码?
Do I remove webpack-dev-server and hot-module middleware code during production build, or when I get ready for production?
如标题所示,当我准备好托管生产代码时,我是否应该从我的服务器代码中删除 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}`);
});
您应该将您的 HMR 代码(或者实际上,任何 development/environment 特定设置)包装到它自己的区域中。我不建议将它从您的代码中删除,因为您可能会返回应用程序并想要更新某些内容。拥有 HMR 是一件相当不错的奢侈,所以我只想让你的代码嗅探环境,如果是开发,运行 相关代码。不然就别运行了。
How do you detect the environment in an express.js app?
如标题所示,当我准备好托管生产代码时,我是否应该从我的服务器代码中删除 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}`);
});
您应该将您的 HMR 代码(或者实际上,任何 development/environment 特定设置)包装到它自己的区域中。我不建议将它从您的代码中删除,因为您可能会返回应用程序并想要更新某些内容。拥有 HMR 是一件相当不错的奢侈,所以我只想让你的代码嗅探环境,如果是开发,运行 相关代码。不然就别运行了。
How do you detect the environment in an express.js app?