2017-09-29 120 views
0

Ich habe das Webpack von 2.5.1 auf 3.6 aktualisiert. Alles lief gut im Webpack-Dev-Server-Modus, aber fehlgeschlagen im Webpack-Build. Ich habe folgenden Fehler beobachtet.Fehler nach dem Upgrade des Webpacks von 2 auf 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);

Im Folgenden sind die aktualisierten Pakete. enter image description here enter image description here

Was den Fehler ausgelöst haben würde? Ich habe Babel Loader korrekt eingestellt, was mit 2.5 Webpack Version funktioniert.

Update: Wenn ich new webpack.optimize.ModuleConcatenationPlugin() entfernen, bekomme ich diesen Fehler nicht. Sieht so aus, als hätten Chunk-Dateien einen Es6-Code, den der Babel-Parser nicht analysiert. Wie kann ich Webpack so konfigurieren, dass es funktioniert?

Antwort

0

Sie können in Top-Level-

import reducers from './reducers' 

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

oder

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

Dies ist dynamisch Import-Funktion importiert Ich verwende. Was auch immer Sie vorgeschlagen haben, macht es statisch zu importieren. – thecodejack

Verwandte Themen