同时尝试使用node
和node --harmony
,但我仍然会收到' SyntaxError:意外的令牌导入'错误。
我有两个文件,A.ts
和B.ts
。这是他们的样子 -
B.ts
export class B {
}
A.ts
import {B} from './B';
console.log(new B());
结果是 -
(function (exports, require, module, __filename, __dirname) { import {B} from './B';
^^^^^^
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:140:18)
at node.js:1001:3
为什么?
答案 0 :(得分:0)
模块仍在进行中,我不确定尝试抛出标志是否会修复错误,但这是命令:
$ node --v8-options | grep 'in progress'
--harmony_modules (enable "harmony modules" (in progress))
答案 1 :(得分:-1)
试试https://www.npmjs.com/package/ts-node。它允许编写打字节点的打字稿。
还要确保将tsconfig.json设置为使用commonjs进行编译。 https://github.com/Microsoft/TypeScript/wiki/tsconfig.json
这是我的tsconfig.json的样子:
{
"version": "1.0",
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"removeComments": true,
"sourceMap": false
}
}