是否有可能覆盖tsconfig.json从mocha调用时使用的ts节点?
我的主要tsconfig.json包含"module": "es2015",但我只想"module": "commonjs"用于ts节点.
我试过这个
mocha --compilers ts:ts-node/register,tsx:ts-node/register \
--compilerOptions '{"module":"commonjs"}' \
--require ts-node/register test/**/*.spec.ts*
Run Code Online (Sandbox Code Playgroud)
但它不起作用:
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Module.m._compile (/usr/lib/node_modules/ts-node/src/index.ts:406:23)
at Module._extensions..js (module.js:422:10)
at Object.require.extensions.(anonymous function) [as .tsx] (/usr/lib/node_modules/ts-node/src/index.ts:409:12)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at /usr/lib/node_modules/mocha/lib/mocha.js:222:27
at Array.forEach (native)
at Mocha.loadFiles (/usr/lib/node_modules/mocha/lib/mocha.js:219:14)
at Mocha.run (/usr/lib/node_modules/mocha/lib/mocha.js:487:10)
at Object.<anonymous> (/usr/lib/node_modules/mocha/bin/_mocha:458:18)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load …Run Code Online (Sandbox Code Playgroud) 我想用mocha来测试我的TypeScript/Angular2项目.我试图用TS-节点描述在这里:
npm install -g ts-node
Run Code Online (Sandbox Code Playgroud)
但是跑步的时候
mocha --require ts-node/register -t 10000 ./**/*.unit.ts
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
找不到模块'ts-node/register'
我在这里错过了什么?
我创建了一个项目,我想用mocha来测试我的Typescript代码.如果我这样做:
mocha ts/test --compilers ts:typescript-require
Run Code Online (Sandbox Code Playgroud)
在我进行更改后,它将失败并显示如下消息:
error TS2307: Cannot find module 'mocha'.
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为如果我只是运行tsc一切都很好(我有我所有的类型定义,我正在使用一个tsconfig.json文件).我也安装typescript-require了mocha.
但是每次我在那之后运行命令,它都有效吗?!?但如果我mocha进入观察模式:
mocha -w ts/test --compilers ts:typescript-require
Run Code Online (Sandbox Code Playgroud)
然后它第一次通过但在此之后失败.啊! 有关如何获得涉及mocha和Typescript 的强大设置的任何建议,以便我可以测试和观看?