如何在 Nx monorepo 的 NestJS 项目中设置 Webpack 的 HMR?

Soh*_*edM 6 javascript nomachine-nx typescript webpack-hmr nestjs

我正在尝试在Nx monorepo 的nestjs 应用程序中启用 Webpack HMR

可以在此处的 repo 中找到带有 nestjs 应用程序的 nx 工作区。它是通过以下官方文档创建的

Nestjs webpack HMR 文档在这里

我按照上述文档在没有 nx monorepo 的情况下成功地在 nestjs 应用程序中启用了 Webpack HMR。

如何在 Nx monorepo 的 NestJS 项目中设置 Webpack 的 HMR?

如果需要,请随时询问有关问题的更多详细信息

小智 0

webpack@5.74.0

yarn add webpack@5.70.0
Run Code Online (Sandbox Code Playgroud)

webpack-hmr.config.js

...
{
  entry: { main: ['./node_modules/webpack/hot/poll?100', ...config.entry.main ]  }, //this
  externals: [
    nodeExternals({
      allowlist: ['./node_modules/webpack/hot/poll?100'] // this
    })
  ],
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new webpack.WatchIgnorePlugin({ paths: [/\.js$/, /\.d\.ts$/] }),
    new RunScriptWebpackPlugin({name: config.output.filename, autoRestart: false}),
  ],
},
...

Run Code Online (Sandbox Code Playgroud)

apps/ project-api /project.json>>targets.build.webpackConfig

"webpackConfig": "apps/project-api/webpack-hmr.config.js"
Run Code Online (Sandbox Code Playgroud)

跑步

npx nx build project-api --watch
Run Code Online (Sandbox Code Playgroud)