簡體   English   中英

Webpack Node.js 的 HMR

[英]Webpack HMR for Node.js

我使用webpack來捆綁我的 nodejs 代碼。 眾所周知,我們可以使用webpack-dev-server搭建開發環境,那么nodejs呢? 我知道nodemon可以工作,但它會重新啟動整個項目,我想要一種 HMR 方式。

你可以按照這個:

  1. 運行npm i --save-dev webpack-node-externals run-script-webpack-plugin webpack
  2. 在應用程序的根目錄中創建一個webpack-hmr.config.js文件並將其放入:

const nodeExternals = require('webpack-node-externals');
const { RunScriptWebpackPlugin } = require('run-script-webpack-plugin');

module.exports = function (options, webpack) {
  return {
    ...options,
    entry: ['webpack/hot/poll?100', options.entry],
    externals: [
      nodeExternals({
        allowlist: ['webpack/hot/poll?100'],
      }),
    ],
    plugins: [
      ...options.plugins,
      new webpack.HotModuleReplacementPlugin(),
      new webpack.WatchIgnorePlugin({
        paths: [/\.js$/, /\.d\.ts$/],
      }),
      new RunScriptWebpackPlugin({ name: options.output.filename }),
    ],
  };
};
  1. 在你的main.js里面:
async function bootstrap() {
  <Your Express middleware and etc>
  if (module.hot) {
    module.hot.accept();
    module.hot.dispose(() => server.close());
  }
}

靈感來自Nest.js HMR

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM