2017-10-12 11 views
2

Ich habe ein React-Projekt, das babel-preset-es2015 verwendet hatte, das mit webpack gut gebaut wurde, aber seit ich habe verschoben auf babel-preset-env das Modul Build fehlschlägt.Problem beim Übergang von "babel-preset-es2015" zu "babel-preset-env" auf React und Webpack-Projekt

Diese Fehlermeldung erscheint:

ERROR in ./src/index.js 
Module build failed: Error: Couldn't find preset "es2015" relative to directory "/path/to/project" 
    at /path/to/project/node_modules/babel-core/lib/transformation/file/options/option-manager.js:293:19 
    at Array.map (<anonymous>) 
    at OptionManager.resolvePresets (/path/to/project/node_modules/babel-core/lib/transformation/file/options/option-manager.js:275:20) 
    at OptionManager.mergePresets (/path/to/project/node_modules/babel-core/lib/transformation/file/options/option-manager.js:264:10) 
    at OptionManager.mergeOptions (/path/to/project/node_modules/babel-core/lib/transformation/file/options/option-manager.js:249:14) 
    at OptionManager.init (/path/to/project/node_modules/babel-core/lib/transformation/file/options/option-manager.js:368:12) 
    at File.initOptions (/path/to/project/node_modules/babel-core/lib/transformation/file/index.js:212:65) 
    at new File (/path/to/project/node_modules/babel-core/lib/transformation/file/index.js:135:24) 
    at Pipeline.transform (/path/to/project/node_modules/babel-core/lib/transformation/pipeline.js:46:16) 
    at transpile (/path/to/project/node_modules/babel-loader/lib/index.js:50:20) 
    at Object.module.exports (/path/to/project/node_modules/babel-loader/lib/index.js:175:20) 

Im Folgenden sind meine webpack Konfigurationen:

WORKS (mit babel-Preset-2015)

module.exports = { 
    ... 
    module: { 
    rules: [ 
     { 
     test: /\.js$/, 
     exclude: /node_modules/, 
     use: { 
      loader: 'babel-loader', 
      options: { 
      presets: [ 
       'es2015', 
       'react', 
       'stage-1'] 
      } 
     } 
     } 
    ] 
    }, 
    ... 
}; 

FUNKTIONIERT NICHT (mit babel-voreingestellt-env)

module.exports = { 
    ... 
    module: { 
    rules: [ 
     { 
     test: /\.js$/, 
     exclude: /node_modules/, 
     use: { 
      loader: 'babel-loader', 
      options: { 
      presets: [ 
       'env', 
       'react', 
       'stage-1'] 
      } 
     } 
     } 
    ] 
    }, 
    ... 
}; 

package.json Abhängigkeiten:

"babel-core": "^6.26.0", 
"babel-loader": "^7.1.2", 
"babel-preset-env": "^1.6.0" 
+0

Das ungerade ist. Haben Sie versucht, 'node_modules' zu löschen und eine' npm-Installation' durchzuführen? – Oblosys

+0

Haben Sie Ihre .babelrc-Datei aktualisiert? – Jaxx

+0

@oblosys habe ich und es hat nicht geholfen. –

Antwort

1

So habe ich eine .babelrc Datei und dort die Loader-Optionen bewegt, und die Dinge erscheinen jetzt nur noch gut zu funktionieren. Immer noch nicht sicher, warum es nicht innerhalb des Webpack-Moduls funktioniert.

Webpack

module.exports = { 
    ... 
    module: { 
    rules: [ 
     { 
     test: /\.js$/, 
     exclude: /node_modules/, 
     use: 'babel-loader' 
     } 
    ] 
    }, 
    ... 
}; 

.babelrc

{ 
    "presets": [ 
    "env", 
    "react", 
    "stage-1" 
    ] 
} 
Verwandte Themen