当我从文件夹中运行笑话并且某些文件位于父目录中时,我遇到了问题。
我的存储库看起来像这样:
|-common
| |-.babelrc
| |-src
| |-js
| |-someDependencies.js
|-app
|-src
| |-js
| |-someCodeIncludingSomeDependencies.js
|-.babelrc
|-package.json
|-webpack.config.js
我的Jest配置位于package.json中,并且为:
"jest": {
"moduleNameMapper": {
"^vue$": "vue/dist/vue.common.js",
"^@/(.*)$": "<rootDir>/src/$1",
"^@Common/(.*)$": "<rootDir>/../common/src/$1"
},
"moduleFileExtensions": [
"js",
"vue"
],
"snapshotSerializers": [
"jest-serializer-vue"
],
"transform": {
"^.+\\.js$": "babel-jest",
".+\\.(css|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$": "jest-transform-stub",
".*\\.(vue)$": "vue-jest"
},
"collectCoverageFrom": [
"**/*.{js,vue}",
"!**/dist/**",
"!<rootDir>/coverage/**",
"!**/node_modules/**"
],
"transformIgnorePatterns": [
"<rootDir>/node_modules/"
]
},
我从“ app”文件夹运行Jest。
我的问题是,当我运行Jest时,'common / src / js'中的代码不会被babel转换并产生错误:
...
SyntaxError: Unexpected token export
3 |
4 |
> 5 | export default {}
| ^
...
答案 0 :(得分:0)
Babel 7.x的新功能,Babel的概念是“根”目录,默认为当前工作目录。
有关更多信息,您可以阅读here。
只需在root
文件中指定.babelrc
属性即可指向父文件夹,也可以将.babelrc
文件移至该父文件夹。
答案 1 :(得分:0)
我解决了将'.babelrc'配置文件更改为'babel.config.js'文件的问题...