2017-12-19 11 views
0

私は非常に最新の(December 2017)依存関係のスタックを使用しています。私がJestと同形反応テストを試してみる。Jest Test Babelエラー:オブジェクトのエクスポートにプラグイン/プリセットファイルが許可されていません

テストスーツは、次のエラーで失敗し続けて:ここで

* Test suite failed to run 
[BABEL] /__tests__/router.test.js: Plugin/Preset files are not allowed to 
export objects, only functions. 

は私の依存関係です:

"dependencies": { 
    "axios": "^0.17.1", 
    "babel-polyfill": "^6.26.0", 
    "cors": "^2.8.4", 
    "express": "^4.16.2", 
    "react": "^16.1.1", 
    "react-dom": "^16.1.1", 
    "react-router-dom": "^4.2.2" 
    }, 
    "devDependencies": { 
    "@babel/core": "^7.0.0-beta.35", 
    "babel-cli": "^6.26.0", 
    "babel-core": "^7.0.0-bridge.0", 
    "babel-eslint": "^8.0.2", 
    "babel-jest": "^22.0.1", 
    "babel-loader": "^7.1.2", 
    "babel-preset-env": "^1.6.1", 
    "babel-preset-react": "^6.24.1", 
    "enzyme": "^3.2.0", 
    "enzyme-adapter-react-16": "^1.1.0", 
    "enzyme-to-json": "^3.2.2", 
    "eslint": "^4.11.0", 
    "eslint-plugin-react": "^7.5.1", 
    "html-webpack-plugin": "^2.30.1", 
    "jest": "^21.2.1", 
    "nodemon": "^1.11.0", 
    "parallelshell": "^3.0.2", 
    "react-test-renderer": "^16.2.0", 
    "regenerator-runtime": "^0.11.1", 
    "supertest": "^3.0.0", 
    "webpack": "^3.8.1", 
    "webpack-dev-server": "^2.9.4" 
    }, 
    "peerDependencies": { 
    "babel-core": "^7.0.0-0" 
    } 

.babelrc:

{ 
    "presets": [ 
    "env", 
    "react", 
    ] 
} 

誰にとして任意の洞察力を持っていますなぜ冗談は実行されませんか?

は...お時間を事前に

よろしく、100%ではないブリッジパッケージが何をするかである

EdLeeを

+0

通常、Babel 6と7のミックスを使用すると問題が発生します。ここで7を使用するように促されたのは何ですか? – loganfsmyth

+0

これはプロダクションプロジェクトではありません。バベル橋は6と7の間の問題をカバーするためのものです。しかし、はい、何が起こっているのか分からない場合、私はダウングレードすることに同意します。 – edlee

+0

「バベル橋は6と7の間の問題をカバーすることを意図している」それは100%ではない。 Babel 7を使用している場合は、 '@ babel/preset-react'などを使用する必要があります。 – loganfsmyth

答えて

2

babel bridge is meant to cover any issues between 6 and 7

ありがとうございます。それができるのはbabel-coreを使用するツールが@babel/coreに通過することだけです。パッケージ全体はthis single line of codeです。

あなたが@babel/coreを使用している場合、あなたはbabel-preset-react@babel/preset-envため@babel/preset-reactと同じように変更する必要があり、あなた.babelrcがあるべきことを意味しバベル7上で動作するプラグインを使用する必要があります。同様に

{ 
    "presets": [ 
    "@babel/env", 
    "@babel/react", 
    ] 
} 

babel-polyfill必要があります@babel/polyfillとなります。

バベル7は依然として不安定なベータ版であるため、これについてはまだ説明されていません。

+0

私に正しい方向を向けるために乾杯@loganfsmyth!それが私の問題を解決しました。そして、これを説明し、私の誤解を訂正する時間をとってくれてありがとう。 – edlee

関連する問題