Babel-Plugin/Preset-Dateien sind nicht erlaubt, um die Objekte exportieren, nur Funktionen
Ich bin tryng zu verwenden Babel-loader auf einem alten Projekt und ich feststellen, dass einige Fragen in Bezug auf, wenn zu babel-Lader arbeiten auf verpackten Objekten, ist dies die Standard-Verhalten ? Ich bin nicht sicher, ob das ein bug ist oder etwas im tun falsch ist, konnte ich nicht finden, viel über Sie, über google, so ist dies meine Letzte Rettung.
Würde ich etwas ändern muss, um meinen code, damit es funktioniert ?
Dies sind meine aktuellen specs:
Webpack: 3.19.0
babel/Kern: 7.0.0-beta.34
babel-loader: Version 8.0.0-beta.0
Entnehmen Sie bitte meiner Pakete.json-wenn nötig:
http://paste.ubuntu.com/26187880/
Ich bin tryng zum laden einer einzigen Datei verpackt in einer Funktion:
http://paste.ubuntu.com/26187814/
Fortsetzen, etwas alt, das ist so gebaut:
( window.global = { } )();
Dies ist mein webpack config:
const webpackConfig = {
context: __dirname,
entry: {
app: '../../JavaScript/Namespacing.js'
},
module: {
rules: [
{
test: /.jsx?$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
}
}
]
},
output: {
path: __dirname + "/../../static/js",
filename: "[name].js"
},
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery"
})
],
}
Und den Fehler bekomme ich auf meine Datei ist der folgende:
Plugin/Preset files are not allowed to export objects, only functions.
So, ich bin etwas fehlt ?
Vielen Dank für jede Hilfe.
- Kann ich sehen, Ihre
.babelrc
? - Slomka war Ihr problem gelöst mit der Antwort unten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe den gleichen Fehler mit
babel 7.x
und und"babel-loader": "^8.0.4"
Ich löste das Problem, indem Sie die folgenden Abhängigkeiten in
package.json.
Ich habe die Lösung von diesen link
und in
.babelrc
oder in
package.json
Wenn Sie
npm
dann verwenden Sie die folgendenWenn Sie mit Garn, dann verwenden Sie die folgenden
.babelrc
Datei, ich glaube, dass sollte"@babel/preset-env"
statt"@babel/env"
. Auch eine Erklärung, die während der Aktualisierung zu Babel 7 "@babel/preset-env (Transpiles Dateien mit ES6, ES7 und ES8. Das gleiche wie babel-Vorgabe-die Letzte, die umfasst babel-preset-es2015, babel-preset-es2016, und babel-preset-es2017. Jedoch, babel-Vorgabe-die Letzte ist veraltet und wird ersetzt durch babel-preset-env, so dass ist, warum wir mit babel-preset-env." von: medium.com/@jeffrey.allen.lewis/...Aus Ihrem Paket.json, ich kann sehen, dass Sie mit älteren plugins und presets bedeutete für die Babel-v6, der führt zu dieser Fehlermeldung. Sie wechseln müssen, um z.B.
@babel/preset-env
, dann aktualisieren Sie Ihre.babelrc
entsprechend (wenn Sie.babelrc
mehr konkrete Anleitung gegeben werden kann).Hier ist ein zugehöriger ticket-mit einigen Erklärungen - https://github.com/babel/babel-loader/issues/540
Ein paar semi-bezogene Hinweise auf das, was ich sehe, in
package.json
:Den alten
babel-core
Abhängigkeit ist immer noch da. Entfernen oder aktualisieren Sie es auf die version7.0.0-bridge.0
. Ähnlich wie die alten reagieren preset drin ist, entfernen Sie es.Wenn Sie die
env
voreingestellt, Sie brauchen nicht zu verwenden, diees2015
Vorgabe überhaupt. Entfernen Sie es.