node.js - typescript tsc 意外 token { 导入时

标签 node.js typescript ecmascript-6

我知道这是一个常见问题,似乎 ts config 中的 "module": "commonjs" 必须有所帮助,但事实并非如此。

Node v11.4.0, tsc 3.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";

构建并运行:

  1. tsc
  2. node 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 模块导入的文件。

最佳答案

it seems like "module": "commonjs" in ts config must help, but it does not.

应该。它不工作,因为 tsconfig 没有被使用。您应该运行 tsc 并提供项目文件:

tsc -p .

关于node.js - typescript tsc 意外 token { 导入时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56014054/

相关文章:

javascript - Express:请求的模块不提供名为 'User' 的导出

javascript - 添加元数据以表达路线

node.js - createBlockBlobFromText 方法的最大文本大小 Azure 存储、NodeJS

javascript - 定义 TypeScript 调试变量

node.js - 使用 Typescript 在 Sequelize 模型中创建实例方法

javascript - Webpack 无法加载json 文件,如何定位本地json 文件并使用http.get 和AngularJS 加载该文件

javascript - Mongoose query.remove() 回调未被调用

node.js - FCM iOS : Push notifications throw invalid argument

typescript - 如何将函数参数的类型与某个枚举值关联起来?

javascript - 传递元素子项的未记录方法 : as attributes instead of explicit children