【发布时间】:2019-05-07 00:38:39
【问题描述】:
我知道这是一个常见问题,似乎 ts 配置中的 "module": "commonjs" 必须有帮助,但它没有。
节点v11.4.0,
tsc3.4.3
tsconfig.json:
{
"compilerOptions": {
"lib": [
"es2017",
"dom"
],
"target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"outDir": "./build",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": false,
"rootDir": "src"
},
"exclude": [
"node_modules",
"**/*.spec.ts",
"**/*.test.ts"]
}
导入.ts 文件:
import {Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn} from "typeorm";
构建并运行:
tscnode build/server.js
错误:
(function (exports, require, module, __filename, __dirname) { import {Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn} from "typeorm";
^
SyntaxError: Unexpected token {
at new Script (vm.js:83:7)
at createScript (vm.js:267:10)
at Object.runInThisContext (vm.js:319:10)
at Module._compile (internal/modules/cjs/loader.js:686:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Module.require (internal/modules/cjs/loader.js:659:17)
at require (internal/modules/cjs/helpers.js:22:18)
请帮忙:)
更新:
它仅出现在单个 .ts 文件中。其他文件中的导入工作正常。同时它是唯一使用来自typeorm 模块的导入的文件。
【问题讨论】:
-
您可以尝试将目标从
es6更改为es2015。es2015很适合我。 -
是的,我确实试过了。这是一个非常奇怪的问题,只出现在一个文件中(其他文件中有多个导入效果很好)
-
我找到了这个错误的解决方案in this answer。
标签: node.js typescript ecmascript-6