2017-09-29 1 views
0

webpackを2.5.1から3.6にアップグレードしました。すべてwebpack dev serverモードでうまく行きましたが、webpackビルドに失敗しました。私はエラーの後に観察した。webpackを2から3にアップグレードした後のエラー

ERROR in chunk main [entry] [name].[chunkhash].js 'import' and 'export' may only appear at the top level (42:6) | if (false) { | module.hot.accept('./reducers', function() { | import('./reducers').then(function (reducerModule) { | var createReducers = reducerModule.default; | var nextReducers = createReducers(store.asyncReducers);

後、アップグレードパッケージです。 enter image description here enter image description here

何が原因でエラーが発生しましたか?私は2.5 webpackのバージョンでうまく動作するバベルローダーを正しく設定しました。

更新:私がnew webpack.optimize.ModuleConcatenationPlugin()を削除した場合は、このエラーは発生しません。チャンクファイルには、babel-parserが解析していないes6コードを持つように見えます。どうすればwebpackを動作させるように設定できますか?

答えて

0

あなたは、これは私が使用していますダイナミックインポート機能で、あなたのトップレベルで

import reducers from './reducers' 

if (false) { 
    module.hot.accept('./reducers', function() { 
    reducers.then(function (reducerModule) { 
     var createReducers = reducerModule.default; 
     var nextReducers = createReducers(store.asyncReducers); 

または

if (false) { 
    module.hot.accept('./reducers', function() { 
    require('./reducers').default.then(function (reducerModule) { 
     var createReducers = reducerModule.default; 
     var nextReducers = createReducers(store.asyncReducers); 
+0

をインポートすることができます。これまでに提案したことは静的インポートになりました。 – thecodejack

関連する問題