nestjs热重载

nestjs每次都要重新编译,在腾讯云社区里面找到了添加热重载的方法,使用>webpack

第一步>安装需要的包

npm i --save-dev webpack webpack-cli webpack-node-externals

第二步

在根目录中添加webpack配置文件 > webpack.config.js
const webpack = require('webpack');
const path = require('path');
const nodeExternals = require('webpack-node-externals');

module.exports = {
  entry: ['webpack/hot/poll?100', './src/main.ts'],
  watch: true,
  target: 'node',
  externals: [
    nodeExternals({
      whitelist: ['webpack/hot/poll?100'],
    }),
  ],
  module: {
    rules: [
      {
        test: /.tsx?$/,
        use: 'ts-loader',
        exclude: /node_modules/,
      },
    ],
  },
  mode: 'development',
  resolve: {
    extensions: ['.tsx', '.ts', '.js'],
  },
  plugins: [new webpack.HotModuleReplacementPlugin()],
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'server.js',
  },
};

第三步

修改nestjs启动文件> main.ts
declare const module: any;//添加项

async function bootstrap() {
  const app = await NestFactory.create(ApplicationModule);
  await app.listen(3000);

//添加项
  if (module.hot) {
    module.hot.accept();
    module.hot.dispose(() => app.close());
  }
}
bootstrap();

第四步

在package.json里面加入script配置>

"start": "node dist/server",
"webpack": "webpack --config webpack.config.js"

最后

先运行这条命令通过webpack编译

npm run webpack

编译完成后启动

npm run start

如果编译或者启动报错的话看看是不是哪里目录层级出错了 找到相应位置文件更改试试

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录第1章 webpack简介 11.1 webpack是什么? 11.2 官网地址 21.3 为什么使用 web...
    lemonzoey阅读 1,761评论 0 1
  • webpack 是什么? 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(mo...
    IT老马阅读 3,355评论 2 27
  • 一、工具准备 WebStorm - 下载 Nodejs - 下载 Chrome - 下载 下载并安装以上工具 二、...
    游戏小狗狗阅读 6,208评论 0 4
  • 构建工具逐渐成为前端工程必备的工具,Grunt、Gulp、Fis、Webpack等等,译者有幸使用过Fis、Gul...
    陈坚生阅读 6,067评论 4 64
  • 01 8年前我刚毕业,时间一晃儿就溜到现在已过了而立之年。我曾经到过呼伦贝尔草原,由于刚毕业迫切的需要一份工作来解...
    塞北清寒阅读 812评论 0 25