项目编译后找不到模块

时间:2018-11-16 10:23:50

标签: node.js typescript

这是我的package.json:

   {
      "main": "./build/app.js",
      "types": "./build/app.d.ts",
      "scripts": {
        "start": "tsc && node build/app.js",
        "dev": "concurrently \"tsc -w \" \"nodemon ./build/app.js\"",
        "lint": "tslint ./src"
      },
    }

tsconfig.json:

{
  "compilerOptions": {
     "target": "es6",
     "module": "commonjs",
     "outDir": "build",
     "sourceMap": true,
     "declaration": true,
     "moduleResolution": "node",
     "allowSyntheticDefaultImports": true,
     "experimentalDecorators": true,
     "baseUrl": "src",
  },
  "files": [
     "./node_modules/@types/node/index.d.ts"
  ],
  "include": [
     "src/**/*.ts"
  ]
}

Error: Cannot find module 'controllers/index'。我尝试将这样的文件导入:import controllers from 'controllers/index'在app.ts中。

project structure image

那么,如何在编译文件夹“ build”中添加相对路径?

1 个答案:

答案 0 :(得分:0)

尝试使用模块别名。

有很多方法可以解决,例如https://www.npmjs.com/package/module-alias。或者,如果您使用的是Webpack,它们也具有此功能,只是google“ webpack别名”。