ken*_*ken 7 mocha.js typescript ts-node
我已经意识到我的库项目最好是使用TypeScript转换为ES2015格式,然后我bili将其转换为其他格式(aka,UMD和CJS).这意味着我的主要tsconfig.json是:
{
  "compilerOptions": {
    "declaration": true,
    "module": "es2015",
    "target": "es2015",
    "lib": ["es2015", "esnext.asynciterable", "es2015.reflect"],
    "moduleResolution": "node",
    "sourceMap": true,
    "noImplicitAny": true,
    "outDir": "./lib",
    "removeComments": false,
    "typeRoots": ["./node_modules/@types"]
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "**/*-spec.ts"]
}
这就是我需要它来进行转换,但多年来我一直在享受我的摩卡测试运行ts-node:
ts-node - 需要ts-node/register'test/**/* - spec.ts'
我很快意识到我的所有基于TS的测试脚本现在都因为使用import语句等而崩溃,但我能够通过添加以下内容来解决这个问题:
TS_NODE_PROJECT ="tsconfig.test.json"ts-node --require ts-node/register'test/**/* - spec.ts'
替代方案tsconfig.test.json是:
{
  "compilerOptions": {
    "module": "commonjs",
    "moduleResolution": "node",
    "target": "es5",
    "lib": ["es2015"],
    "declaration": false,
    "noImplicitAny": false,
    "removeComments": true,
    "inlineSourceMap": true
  },
  "include": ["scripts/**/*.ts"]
}
这确实在一定程度上推进了我的测试文件 - 这是TypeScript文件 - 现在可以运行但是当我切换lodash到lodash-es(由于显而易见的明显原因)并且现在我在lodash-es中出现错误时,一切都不顺利:
所以从本质上看,以下ES格式的文件似乎正在被转换:
test-spec.tssrc/my-file.ts但我的源文件依赖项如ES2015中的"lodash-es"尚未被编译.我有什么方法可以解决这个问题吗?
我发现这篇文章非常有用:用Webpack,Jest和Typescript来摇晃Lodash
虽然这个例子是使用Jest,但我相信Mocha的行为与描述的相同.我不知道的是......有没有办法让Mocha像Jest一样配置在本文中.
| 归档时间: | 
 | 
| 查看次数: | 910 次 | 
| 最近记录: |