2017-06-15 6 views
1

jestを設定しようとしていますが、es6機能を処理できないという事実に直面しています。それは私には適切に見えますが、冗談はともかく上Test suite failed to runで実行に失敗Jest、env preset、stage-0 features

{ 
    "presets": [ 
    "react", 
    "es2017", 
    "stage-0", 
    ["env", { 
     "targets": { 
     "browsers": ["last 2 versions"] 
     }, 
     "spec": true, 
     "modules": false, 
     "debug": true 
    }], 
    ], 
    "plugins": [ 
    ["transform-class-properties", { "spec": true }] 
    ] 
} 

"jest": { 
    "transform": { 
     "^.+\\.jsx?$": "./node_modules/babel-jest" 
    }, 
} 

マイ.babelrcの設定:私はpackage.jsonに設定を追加し、この問題を解決するには

import React from 'react';および小道具内

class App extends Component { 
    static propTypes = {} 
} 

現時点では、何が間違っているのか分かりませんが、envプリセットでは使用できないだけでなく、pluginsなどのステージxの機能が無視され、他のプリセットは無視されます。 しかしwebpackはエラーなしでバンドルをビルドします。 それは冗談の問題のように見えます。

何が起こっているのかを知るのに役立つでしょうか?

==========固定設定.babelrc

{ 
    "presets": [ 
    "react", 
    "es2015", 
    "es2016", 
    "es2017", 
    "stage-0", 
    ["env", { 
     "targets": { 
     "browsers": ["last 2 versions"] 
     }, 
     "spec": true, 
     "modules": false, 
     "debug": true 
    }], 
    ], 
    "plugins": [ 
    ["transform-class-properties", { "spec": true }] 
    ] 
} 

package.json

"jest": { 
    "moduleNameMapper": { 
     "config.env": "<rootDir>/config/application.production.js", 
     "^.+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|po)$": "<rootDir>/__mocks__/fileMock.js", 
     "^.+\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js" 
    }, 
    "moduleFileExtensions": [ 
     "js", 
     "jsx", 
     "js", 
     "json" 
    ] 
    }, 

答えて

1

es2017プリセットはes2016es2015を含みません。 明示的にすべてを含めることも、代わりにpreset-envを使用することもできます。

さらに、ジスト設定でtransformプロパティを明示的に設定する必要はありません。

from Jest documentation:

注:バベル-冗談は冗談をインストールする際に自動的にインストールされ、バベルの設定は、プロジェクト内に存在する場合、自動的にファイルを変換します。

+0

私はそれを削除しましたが、依然として 'import 'から反応しません; – SilentImp

+0

私はそれを逃してしまったのですか?[preset-env](https:// 'es2017'には' es2016'と 'es2015'が含まれていないので、babeljs.io/docs/plugins/preset-env/)にあります。 – Nataly87

+0

私は 'config-env'を上に設定しています... あなたが正しいかのように、上記の[package.json]と[.babelrc]に設定を変更しました。私はコメントサイズに合わないので、元の投稿に入れました。 しかし、私は自分の.babelrcがちょっと奇妙だと感じています。 – SilentImp

関連する問題