TSC编译后运行时Typeorm失败

时间:2019-07-13 18:26:31

标签: node.js typescript express typeorm

我的实体,与ts-node一起正常运行。浏览TypeOrm文档时,我注意到使用.env的createConnection的备用配置:

TYPEORM_ENTITIES=**/entities/**/*.ts

ref:https://typeorm.io/#/using-ormconfig/using-environment-variables

,但是在构建到生产后,它是使用node而非ts-node运行的。我遇到错误

(function (exports, require, module, __filename, __dirname) { import {
SyntaxError: Unexpected token import
...

package.json脚本:

"start": "set debug=* && ts-node ./src/server.ts",
"build-ts": "tsc",
"build": "rm -rf dist && npm run build-ts && node ./dist/server.js"

tsconfig.json脚本:

{
   "compilerOptions": {
      "lib": [
         "es5",
         "es6"
      ],
      "target": "es6",
      "module": "commonjs",
      "moduleResolution": "node",
      "outDir": "./dist",
      "baseUrl": ".",
      "paths": {
         "*": [
            "node_modules/*",
            "src/types/*"
         ]
      },
      "emitDecoratorMetadata": true,
      "experimentalDecorators": true,
      "sourceMap": true
   },
   "include": [
      "src/**/*"
   ]
}

当我将.ts更改为.js

TYPEORM_ENTITIES=**/entities/**/*.ts

TYPEORM_ENTITIES=**/entities/**/*.js

并再次使用node dist/server.jsnpm run build运行,它工作正常,但是使用npm start时,我报错了

RepositoryNotFoundError: No repository for "User" was found. Looks like this entity is not registered in current "default" connection?

我尝试过

// not working
TYPEORM_ENTITIES=**/entities/**/*{.ts,.js}

我希望在productiondevelopment模式下运行而无需更改TYPEORM_ENTITIES

0 个答案:

没有答案