mip*_*phe 9 mocha.js npm transpiler babeljs
对于用 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"
},
Run Code Online (Sandbox Code Playgroud)
我的构建和测试脚本如下所示 (package.json):
"scripts": {
"test": "mocha --require @babel/register",
"build": "babel src -d dist --presets=@babel/preset-env"
},
Run Code Online (Sandbox Code Playgroud)
跑步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
Run Code Online (Sandbox Code Playgroud)
最初我遇到了一个导入错误,通过添加 .babelrc 文件解决了这个错误。
下面是我的 .babelrc 文件内容。
{
"presets": ["@babel/preset-env"]
}
Run Code Online (Sandbox Code Playgroud)
我正在读关于regeneratorRuntime它拉去约巴别塔,填充工具这个环节,他们解释,我不应该需要的是填充工具。
这将模拟完整的 ES2015+ 环境(没有 < 第 4 阶段提案),并且旨在用于应用程序而不是库/工具。
正确设置需要什么?
我没有使用 webpack。
使用 Mocha 和 Babel 7 在 ES6 中进行测试。看这里:https : //dev.to/bnorbertjs/my-nodejs-setup-mocha--chai-babel7-es6-43ei或http://jamesknelson.com/testing-in -es6-with-mocha-and-babel-6/
npm install --save @babel/runtime
npm install --save-dev @babel/plugin-transform-runtime
Run Code Online (Sandbox Code Playgroud)
并且,在 .babelrc 中,添加:
{
"presets": ["@babel/preset-env"],
"plugins": [
["@babel/transform-runtime"]
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10784 次 |
| 最近记录: |