npm run build>不在NestJs项目中创建dist文件夹

时间:2019-06-27 12:26:28

标签: json nestjs

我尝试使用npm run start:prod命令启动项目,但得到

Error: Cannot find module {path to my project}\dist\main.js'

我试图将项目中所有文件的路径从src / myController重命名为../myController。

我的package.json(脚本)

"scripts": {
    "build": "tsc -p tsconfig.build.json",
    "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
    "start": "ts-node -r tsconfig-paths/register src/main.ts",
    "start:dev": "concurrently \"wait-on dist/main.js && nodemon\" \"tsc -w -p tsconfig.json\" ",
    "start:debug": "nodemon --config nodemon-debug.json",
    "prestart:prod": "rimraf dist && npm run build",
    "start:prod": "node dist/main.js"

我的tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "noImplicitAny": false,
    "removeComments": true,
    "allowSyntheticDefaultImports": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es6",
    "sourceMap": true,
    "rootDir": ".",
    "outDir": "../dist",
    "baseUrl": "./src"
  },
  "include": [ "./src/**/*.ts", ],
  "exclude": ["node_modules", "dist", "src/**/*.spec.ts", "src/**/__test__/*"]
}

实际输出:

  

nest-typescript-starter@1.0.0 prestart:prod   {我项目的路径}   rimraf dist && npm运行构建

     

nest-typescript-starter@1.0.0构建   {我项目的路径}   tsc -p tsconfig.build.json

     

nest-typescript-starter@1.0.0 start:prod   {我项目的路径}   节点dist / main.js

内部/模块/cjs/loader.js:584     犯错     ^

  

错误:找不到模块   {我项目的路径} \ dist \ main.js'

2 个答案:

答案 0 :(得分:1)

Okeey,我有点笨。答案很简单。在package.json中,您需要将行从"start:prod": "node dist/main.js"更改为"start:prod": "node dist/src/main.js"。在tsconfig.json中,您需要将"outDir": "../dist"更改为"outDir": "./dist"

答案 1 :(得分:0)

你可以添加一个新命令: 在 package.json 中的脚本下:

"start:live": "rimraf dist && nest build && node dist/src/main", 

然后你可以运行:

npm run start:live