Node.js-SyntaxError:导入Express时出现意外的标记*

时间:2019-10-19 11:32:17

标签: node.js typescript express rxjs ts-node

节点: v10.16.3
npm: 6.12.0

在节点中导入Express时出现错误。 我正在使用此代码https://github.com/angular-university/rxjs-course,请看server/server.ts

我通过{p>运行server.ts

$ ts-node ./server/server.ts

相关代码为:

import * as express from 'express';

错误是:

import * as express from 'express';
       ^

SyntaxError: Unexpected token *
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    at Module.m._compile (/usr/local/lib/node_modules/ts-node/src/index.ts:493:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/usr/local/lib/node_modules/ts-node/src/index.ts:496:12)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at Object.<anonymous> (/usr/local/lib/node_modules/ts-node/src/bin.ts:158:12)
    at Module._compile (internal/modules/cjs/loader.js:778:30)

我已经尝试使用以下方式更改代码:

import express from 'express';

1 个答案:

答案 0 :(得分:2)

我已经使用@ktad的建议解决了

我在"target": "es2017",中添加了server.tsconfig.json

这是我完整的 server.tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es2017",
    "lib": ["es2017"]
  }
}