2017-08-22 13 views
0

のカスタムトランスを使用しているとき、私はnpm testjest --watch)を実行すると、私が手:予期しないトークン輸入バベル-冗談

C:\sites\YDR\branches\trunk\development\app\static\js\_modules\marketplace\postbacks\Components\Form.js:44 
import('Form').then(function (m) { 
^^^^^^ 

SyntaxError: Unexpected token import 

at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:289:17) 
at Object.<anonymous> (__tests__/postbacks-form.js:1:115) 

package.jsonの冗談の一部:

"jest": { 
    "rootDir": "./../../", 
    "modulePaths": [ 
     "<rootDir>tools/webpack/node_modules/", 
     "<rootDir>development/app/static/css/_modules/", 
     "<rootDir>development/app/static/js/_modules/" 
    ], 
    "transform": { 
     "^.+\\.js$": "<rootDir>/tools/webpack/jest.transform.js" 
    } 
    } 

jest.transform。 JS:私は次のバージョンを使用してい

// Custom Jest transform implementation that wraps babel-jest and injects our 
// babel presets, so we don't have to use .babelrc. 
module.exports = require('babel-jest').createTransformer({ 
    presets: [ 
     require("babel-preset-react"), 
     require("babel-preset-es2015") 
    ], 
    plugins: [ 
     require("babel-plugin-syntax-dynamic-import"), 
    ] 
}); 

Plugin 0 specified in "base" provided an invalid property of "default" 

答えて

0

解決済み。これは、babel-plugin-dynamic-import-node内のbugです。

が必要とする.defaultを追加することで回避することができます:

module.exports = require('babel-jest').createTransformer({ 
    presets: [ 
     require("babel-preset-react"), 
     require("babel-preset-es2015") 
    ], 

    plugins: [ 
     require("babel-plugin-transform-es2015-modules-commonjs"), 
     require("babel-plugin-dynamic-import-node").default, 
    ] 
}); 

また、import()を解析することができるようにするために、バベル・プラグイン・変換・es2015-モジュール-commonjs必要とされています。

関連する問題