React-dnd: Babel-Fehler -Verwenden der entfernten Babel 5-Option

Erstellt am 12. März 2016  ·  16Kommentare  ·  Quelle: react-dnd/react-dnd

Ich bin ein Babel-Neuling, ich richte ein neues Projekt ein, installierte Babel, installierte React-dnd über Bower und meine .babelrc hat die folgende Zeile
{ "presets": ["es2015", "stage-0", "react"] }
Modul-Build fehlgeschlagen: ReferenceError:

[BABEL] <path>\bower_components\react-dnd\src\index.js: Using removed Babel 5 option: <path>\bower_components\react-dnd\.babelrc.stage - Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets

Was mache ich falsch

Hilfreichster Kommentar

@walter0331

Lader: 'babe-loader'

Das sollte eine Sache sein.

Alle 16 Kommentare

Hallo @jagan-veeraraghavan! Wie binden Sie React-dnd in Bower ein? Sie sollten dabei sein wie diese .

Es sieht so aus, als würden Sie Bower stattdessen auf das gesamte Github-Repository verweisen. Dies funktioniert nicht, da es .babelrc , eine Babel 5-Konfigurationsdatei, die mit der von Ihnen verwendeten Babel-Version nicht kompatibel ist (6). Die npm-Distribution lässt diese Datei weg (übrigens empfehlen wir, npm über Bower zu verwenden).

Wenn ich falsch liege, kannst du das Problem gerne erneut öffnen. Auch für Support-Fragen wie diese würde ich den gitter room empfehlen.

HI, ich bin auf ein ähnliches Problem mit Webpack und Babel 6 gestoßen.

ERROR in ./~/dnd-core/lib/index.js
Module build failed: ReferenceError: [BABEL] /node_modules/dnd-core/lib/index.js: 
Using removed Babel 5 option: /node_modules/dnd-core/.babelrc.stage - Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets

hier meine einstellungen:

Paket.json

{
  "devDependencies": {
    "babel-core": "^6.3.26",
    "babel-loader": "^6.2.1",
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-react": "^6.3.13",
    "babel-preset-stage-0": "^6.5.0",
    "css-loader": "^0.23.1",
    "extract-text-webpack-plugin": "^1.0.1",
    "file-loader": "^0.8.5",
    "jquery": "^2.2.1",
    "less": "^2.6.1",
    "less-loader": "^2.2.2",
    "style-loader": "^0.13.0",
    "url-loader": "^0.5.7",
    "webpack": "^1.12.9",
    "webpack-dev-server": "^1.14.0"
  },
  "dependencies": {
    "babel-polyfill": "^6.3.14",
    "expose-loader": "^0.7.1",
    "jquery": "^2.1.4",
    "lodash": "^3.10.1",
    "react": "^0.14.7",
    "react-dnd": "^2.1.3",
    "react-dnd-html5-backend": "^2.1.2",
    "react-dom": "^0.14.7",
    "tracking": "^1.1.2"
  }
}

.babelrc

{
  "presets": ["react", "es2015", "stage-0"]
}

Webpack

var webpack = require('webpack');
var ExtractTextPlugin = require("extract-text-webpack-plugin");

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

kann mir bitte jemand helfen?

Ahhh, ich habe es behoben, indem ich node_modules in der webpack.conf ausgeschlossen habe: Tänzer:

      {
        exclude: /(node_modules|bower_components)/,
        test: /\.js$/,
        loader: 'babe-loader'
      },

es löst mein Problem, vielen Dank!

@walter0331

Lader: 'babe-loader'

Das sollte eine Sache sein.

@billyjanitsch hast du schon daran

Ich stoße auf dieses Problem mit Webpack und Babel 6. Ähnlich wie @walter0331. Ich muss das durch mein Babel laufen lassen, da wir eine benutzerdefinierte Verkleinerung von node_modules also wird mir das Ausschließen von node_modules nicht helfen.

Nur um es klarzustellen, ich denke, jeder meint "Babel-Loader" und nicht "Babe-Loader".

loader: 'babel-loader'

Ich versuche, von babel5.x auf 6.x zu aktualisieren und erhalte denselben Fehler. Ich verwende React, Redux mit Babel 6 und Webpack.

Unten ist meine Webpack-Konfiguration (teilweise)
Modul: {
Lader: [
{ Test: /.svg$/, Ausschluss: /.less$/, Ladeprogramm: 'svg-inline'},
{ test: /.coffee$/, loader: 'coffee-loader' },
{ test: /.jsx?$/, ausschließen: /node_modules/,
Lader:
['react-hot-loader/webpack', 'babel-loader?' + JSON.stringify({
Voreinstellungen: ['es2015','stage-0','reagieren'],
Plugins: ['transform-decorators-legacy',
['transform-async-to-module-Methode',
{'module': 'bluebird', 'method': 'coroutine'}
]]
})
]
},
{ test: /.less/, loader: 'style-loader!css-loader!less-loader' },
{ test: /.css/, loader: 'style-loader!css-loader' },
{ test: /.json$/, loader: 'json-loader' },
{ test: /.gif$/, loader: "url-loader?mimetype=image/png" },
{ test: /.woff(2)?(\?v=[0-9].[0-9].[0-9])?$/, loader: "url-loader?limit=10000&minetype=application/ font-woff" },
{ test: /.(ttf|eot|svg)(\?v=[0-9].[0-9].[0-9])?$/, loader: "file-loader" },
{ Test: /jquery.js$/, Ladeprogramm: 'expose?jQuery' },
]
},

.babelrc

{
"presets": ["es2015", "react", "stage-0"],
"plugins": ["transform-decorators-legacy", ["transform-async-to-module-method", {
"modul": "bluebird",
"Methode": "Koroutine"
}]]
}

Mir ist aufgefallen, dass diese Fehlermeldung hauptsächlich für die Dateien angezeigt wird, in die ich Promise von 'bluebird' importiere.

Kann jemand helfen?

stoßen. Gibt es eine Möglichkeit, die Babel-Konfigurationen der Abhängigkeiten zur Build-Zeit zu ignorieren ...?

@walter0331 vielen Dank, dieses Problem macht mich nicht so verwirrt, bis ich Ihre Lösung gelesen habe. Aber ich verstehe das Prinzip nicht, warum es funktionieren kann, wenn man so einstellt: exclude: /(node_modules|bower_components).

@ry928330 im Grunde wird die disposables Bibliothek in react-dnd , und disposables verwendet eine veraltete Babel-Version, Babel 5 (diese Bibliothek wird nicht gepflegt). Wenn es in der Webpack-Konfiguration enthalten ist, führt dies zu einem Konflikt, da wir jetzt bei der Version 6 von Babel sind. Die bessere Lösung hier (zumindest das, was bei mir funktioniert hat), ist nicht unbedingt alle node_modules auszuschließen, sondern nur das widersprüchliche.

Fügen Sie exclude: /(disposables)/ in Ihre Babel-Loader-Webpack-Konfiguration ein, zum Beispiel:

{
     test: /\.js$/,
     exclude: /(disposables)/,
     loader: 'babel-loader',
}

Das ist die richtige Lösung. Es ist unerheblich, welche Version von Babel disposables unter der Haube verwendet. Das eigentliche Problem ist, dass Sie versuchen, node_modules mit Babel zu kompilieren. Dies ist nicht immer sicher und Sie sollten dies nicht tun, es sei denn, Sie wissen, was Sie tun, und entscheiden sich nur für bestimmte Pakete (oder verwenden Sie ein anderes Signal wie das Feld engines und ignorieren Sie die Konfiguration).

Das heißt, ich habe einen "Fix" in [email protected] . Dennoch, wenn Sie alles in node_modules kompilieren, fragen Sie nach Problemen.

mix.webpackConfig({ module: { rules: [{ test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, use: { loader: 'babel-loader', options: Config.babel() } }] } })

es funktioniert, danke!

Ich habe es behoben, indem ich [] hinzugefügt habe
presets: [ ["es2015", { loose: false }] ]

das ist mir passiert, nachdem ich versehentlich stage: 1 zu meiner server/.babelrc Datei hinzugefügt habe.

{
  "presets": ["es2015", "stage-0"],
  "plugins": ["transform-runtime"],
   stage: 1
}

behoben, indem Sie dies entfernen

{
  "presets": ["es2015", "stage-0"],
  "plugins": ["transform-runtime"],
}
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen