jha*_*amm 6 javascript import travis-ci
我有一个简单的javascript项目,使用ES6,加上import和export.这是我的.babelrc档案
{
"env": {
"es": {
"presets": [
[
"env",
{
"targets": {
"browsers": ["last 2 versions"],
"node": "current"
},
"modules": false
}
]
],
"ignore": ["**/*.test.js", "**/tests/*"]
},
"test": {
"presets": ["env"]
},
"cjs": {
"presets": [
[
"env",
{
"targets": {
"browsers": ["last 2 versions"],
"node": "current"
}
}
]
],
"ignore": ["**/*.test.js", "**/tests/*"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
我运行我的测试npm test,它运行我的命令package.json:"test": "jest --notify".
在本地,一切都运行良好,我的所有测试都通过了,但是当我推到特拉维斯时,我得到了这个错误:SyntaxError: Unexpected token import.它不承认我的import陈述.
这是我的.travis.yml:
language: node_js
cache:
yarn: true
node_js:
- '8.4'
script:
- npm test
env:
- NODE_ENV: feature/travis
Run Code Online (Sandbox Code Playgroud)
为什么我.babelrc不在特拉维斯工作?我错过了什么?
这很可能发生,因为您已经NODE_ENV: feature/travis在travis.yml. 这将导致 Travis 将您的测试作为NODE_ENV=feature/travis jest --notify.
这通常不会引起关注,但如果尚未设置,jest则会自动将 NODE_ENV 设置为。test
您的问题可能与https://github.com/facebook/jest/issues/3370上进行的讨论类似。关于 Jest 是否应该自动设置NODE_ENVtotest或者是否应该development在不存在NODE_ENV的情况下使用(或者如果全局设置则尊重NODE_ENV已经设置的内容)存在一些争论。
您还可以在jest-cli https://github.com/facebook/jest/blob/master/packages/jest-cli/bin/jest.js#L12-L14中看到此逻辑
所以我的建议是在没有你的NODE_ENV设置的情况下测试它travis.yml,看看它是否成功运行所有测试。
| 归档时间: |
|
| 查看次数: |
2040 次 |
| 最近记录: |