【发布时间】:2020-05-26 23:15:57
【问题描述】:
对于用 ES6/7 编写的库,我想将库编译(到 ES5)到 dist/ 文件夹。我还想为这个库运行测试(用 ES6/7 编写)。
我的开发依赖项如下所示(package.json):
"devDependencies": {
"@babel/cli": "^7.4.4",
"@babel/core": "^7.4.5",
"@babel/preset-env": "^7.4.5",
"@babel/register": "^7.4.4",
"chai": "^4.2.0",
"mocha": "^6.1.4",
"sinon": "^7.3.2"
},
我的构建和测试脚本如下所示(package.json):
"scripts": {
"test": "mocha --require @babel/register",
"build": "babel src -d dist --presets=@babel/preset-env"
},
运行npm run build 效果很好。 dist/ 文件夹中填充了转译文件。
运行 npm run test 似乎不起作用 - 这是我的问题。
> mocha --require @babel/register
/Users/dro/Repos/lib/node_modules/yargs/yargs.js:1163
else throw err
^
ReferenceError: regeneratorRuntime is not defined
最初我遇到了一个导入错误,通过添加 .babelrc 文件解决了这个问题。
下面是我的 .babelrc 文件内容。
{
"presets": ["@babel/preset-env"]
}
我正在阅读有关 regeneratorRuntime 的信息,它让我找到了 this link about babel-polyfill,他们解释说我不应该需要那个 polyfill。
这将模拟一个完整的 ES2015+ 环境(没有
正确设置需要什么?
我没有使用 webpack。
【问题讨论】:
标签: npm mocha.js babeljs transpiler