【发布时间】:2018-07-27 19:02:47
【问题描述】:
所以我有一个使用 TypeScript 为 mocha 编写的单元测试。 我正在尝试使用 gulp 运行它(这在这里并没有真正发挥作用)。 我得到以下异常:
(function (exports, require, module, __filename, __dirname) { import { assert } from 'chai';
^
SyntaxError: Unexpected token {
at new Script (vm.js:74:7)
at createScript (vm.js:246:10)
at Object.runInThisContext (vm.js:298:10)
at Module._compile (internal/modules/cjs/loader.js:657:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
有人能告诉我 tsconfig.json 中需要什么设置来解决这些问题吗?
node -v
v10.6.0
tsc -v
Version 2.9.2
这是我的 tsconfig.json:
{
"include" : [
"src",
"test",
"unittest"
],
"compileOnSave": true,
"compilerOptions": {
"module": "es2015",
"moduleResolution": "node",
"esModuleInterop": true,
"target": "es5",
"noImplicitAny": true,
"declaration": true,
"sourceMap": true,
"preserveConstEnums": true,
"lib": [
"es2015", "dom"
],
"noUnusedLocals": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"alwaysStrict": true,
"strictNullChecks": false,
"noUnusedParameters": false,
"pretty": true,
"allowUnreachableCode": false,
"experimentalDecorators": true,
"suppressImplicitAnyIndexErrors": true,
"outDir": "./build"
}
}
【问题讨论】:
-
你试过
"module": "commonjs"吗?这就是节点使用的...... -
尝试使用
var assert = require("chai"); -
我猜这不是 tsconfig.json 中的错误,而是您包含的其他一些文件。
-
你试过删除花括号之间的空格吗?一旦这是我几个小时的问题。 IE。
import {assert) from而不是import { assert } from -
@GetOffMyLawn 这解决了我的问题!非常感谢
标签: javascript typescript tsc