Typescript 未正确编译为 commonjs/es2015

Typescript not compiling correctly to commonjs/es2015

我是 运行ning Node v14.5.0。我在开发环境中使用 ts-node-dev

尝试编译成 JS 总是报错。

起初,我试过这个 tsconfig:

"target": "es5",
"module": "commonjs"
"outDir": "./dist",
"rootDir": "./src"

但是当我 运行 tscnode dist/app.js 我得到以下错误:

UnhandledPromiseRejectionWarning: D:\Dev\src\entity\BaseEntity.ts:1
import {
^^^^^^

SyntaxError: Cannot use import statement outside a module

经过一些研究,我发现我应该告诉 Node 使用添加 "type": "module"package.json 的模块。之后错误变为:

Object.defineProperty(exports, "__esModule", { value: true });
                      ^

ReferenceError: exports is not defined

为了进一步研究,我尝试了几种不同的方法,例如:

问题出在 ormconfig.js 中,我的实体路径指向 .ts 文件而不是 .js.

解决方案:

entities: ['dist/entity/*.js'],
migrations: ['dist/migration/**/*.js']