如何使用Babel和TypeScript运行我的摩卡测试?
我正在尝试的命令是:
node_modules/.bin/mocha --require @babel/register "src/**/*.spec.ts"
我得到的错误是:
.../src/Sql.spec.ts:1
import 'mocha';
^^^^^^^
SyntaxError: Unexpected string
我的.babelrc
看起来像:
{
"presets": [
["@babel/preset-env",{"targets": {"node": "10.7"}}],
["@babel/preset-typescript",{"allowNamespaces": true}]
],
"plugins": [
"@babel/plugin-syntax-bigint",
["@babel/plugin-proposal-nullish-coalescing-operator",{"loose": true}],
["@babel/plugin-proposal-optional-chaining",{"loose": true}]
],
"comments": false
}
并且当我通过以下方式构建产品代码时
node_modules/.bin/babel src --out-dir dist --extensions ".ts" --source-maps inline
同一个Sql.spec.js
文件可以按预期方式编译出import
:
"use strict";
require("mocha");
var _chai = require("chai");
那么怎么回事?摩卡咖啡是否不包含@babel/register
? @babel/register
是否没有履行职责?他们忽略了.babelrc
文件吗?
Babel 6在其较年轻的版本中表现不佳,因此,请从package.json中删除所有较旧的Babel软件包-babel,babel-core等。请确保您npm卸载每个软件包,以将它们也从node_modules中删除。] >
我们需要安装babel-core软件包才能访问其require挂钩:
npm install babel-core --save-dev