2017-06-03 2 views
1

wurde die ursprüngliche quesiont auf Github Frage gestellt: https://github.com/babel/babel/issues/5803, scheint aber keine Antwort, so denke ich, Stackoverflow besseren Ort zu fragen wäre:Warum muss ich das babel-Plugin für Abhängigkeiten zu meinem Projekt hinzufügen?

Das Problem ist:

Wenn ich an Dritte reagieren Komponente hinzufügen, meine Projekt, ich finde es immer heraus:

Die Drittpartei-Komponente, die ich importiert habe, benötigt ein Babel-Plugin, das ich nicht brauche.

Ich kann natürlich zu meinem Projekt hinzufügen, dann füge ich eine weitere Third-Party-Komponente hinzu, die babel-plugin-transform-replace-object-assign benötigt.

Das peinlich berührt mich, dass sie ähnliche Dinge tun, aber ich muss sie beide zu meinem Projekt hinzufügen, damit sie funktionieren.

{ 
    "presets": [ 
    "es2015", 
    "react", 
    "stage-0" 
    ], 
    "plugins": [ 
    "transform-object-rest-spread", 
    "transform-object-assign", 
    [ 
     "transform-replace-object-assign", 
     "object.assign" 
    ] 
    ] 
} 

Kann jemand erklären warum oder zeigen Sie mir, wie man es richtig macht?

Vielen Dank.

Antwort

1

Sie müssen node_modules/ von babel-loader auszuschließen, so dass es nicht Ihre Abhängigkeiten nicht versuchen, transpile:

module: { 
    rules: [ 
    { 
     test: /\.js$/, 
     exclude: /node_modules/, 
     loader: 'babel-loader' 
    } 
    ] 
} 
+0

Es funktioniert, aber ich muss noch diejenigen hinzufügen, um meine Projektabhängigkeiten zu verpacken, nicht wahr? Ansonsten sagt es mir immer noch unbekanntes Plugin. – Ben

+0

Nein, Ihre Abhängigkeiten (sind/sollten sein) veröffentlichte Versionen zu npm - z. Hier ist, was reactslick veröffentlicht: https://unpkg.com/react-slick/lib/ Wohl sollten sie keine Entwicklungsdateien wie '.babelrc' an npm veröffentlichen, aber in diesem Fall wären Sie doppelt transpiling und nie gewusst :) –

+0

Ich fand heraus, dass sie das Problem in ihrer neuesten Version beheben. Prost. Vielen Dank, @Jonny. – Ben

Verwandte Themen