2016-12-21 3 views
0

ich nach dem Intro Tutorial bin zu webpack 2.1 auf https://webpack.js.org/get-started/WebPack 2.1 Intro Tutorial nicht importieren Umwandlung

Es ist einfach und ziemlich schnell, aber das erzeugte Bündel nicht import _ from 'lodash'; zu etwas konvertiert - es geschrieben ist enthalten als - Ich erhalte einen Fehler in meinem Webbrowser, wenn ich die Seite index.html öffne.

Ich habe versucht die folgenden Pakete hinzuzufügen:

  • babel-loader
  • babel-Kern
  • babel-Preset-es2015

Und ich versuchte, das Modul hinzugefügt hier anzumerken : https://webpack.js.org/concepts/#loaders

Nichts davon ändert die Ausgabe. Ich habe auch ein paar andere Kleinigkeiten ausprobiert, möchte aber so konzentriert wie möglich bleiben.

Hauptfrage: Funktioniert dieses Lernprogrammbeispiel wie geschrieben?

Secondary Frage: Wenn nicht, wie es zu beheben ...

+0

Sind Sie sicher, dass Sie webpack 2 installiert haben? Webpack 2 befindet sich noch in der Beta-Phase. Wenn Sie "npm install --save-dev webpack" ausführen, erhalten Sie ab sofort das webpack 1, das es6-Importe nicht selbst unterstützt. Webpack 2 tut es. Überprüfen Sie mit './node_modules/.bin/webpack -v' – jontem

+0

@jontem, Sie haben Recht. Ich benutze versehentlich Webpack 1.14, wenn ich WebPack 2 verwenden wollte. Wenn Sie dies als die Antwort auf meine Frage strukturieren, werde ich es akzeptiert akzeptieren. –

Antwort

1

Vergewissern Sie sich, dass Sie Webpack 2 installiert haben, das sich noch in der Beta befindet.

Wenn Sie npm install --save-dev webpack ausführen, erhalten Sie ab sofort das Webpack 1, das die ES6-Importe nicht selbst unterstützt. Dies ist eine neue Funktion von Webpack 2.

Sie können überprüfen, welche webpack Version mit installiert haben:
./node_modules/.bin/webpack -v

+0

Danke. Das hat sehr geholfen. –

0

Wenn Sie ein Tutorial möchten, die mit webpack bekommt man wirklich vor sich geht, tun diese funktioniert und:

http://webpack.github.io/docs/tutorials/getting-started/

Ich wäre misstrauisch gegenüber einem Tutorial, das lodash enthält, denn das bringt dich ziemlich schnell aus dem Bereich des "Einstiegs" (ich habe nichts gegen lodash, aber was hat es mit webpack hallo world zu tun).

Auch ich denke, was Sie versuchen, kann script_loader beinhalten. Aber wieder, bleib bei dem Tutorial-Link, den ich oben gepostet habe. Wenn Sie fertig sind, werden Sie sehen, wie Sie externe Skripts und ähnliches einbinden können.

+0

Wie es ist, den Mangel in dem bereitgestellten Beispiel zu verstehen, da mein Anwendungsfall sofort auf Dinge wie Import-Aussagen zugreifen wird. Ich schätze den anderen Beispielvorschlag, aber ich fürchte, das ist bestenfalls eine Nebensache. –

+0

importieren Anweisungen wäre Teil eines Tutorials mit Webpack ich denke. Ich würde empfehlen, dieses Tutorial zu lesen, da es Loader adressiert. –

0

In der webpack.config.js Datei, das Hinzufügen des bearbeiteten folgende:

module: { 
    loaders: [ 
     { 
     test: /\.(js|jsx)$/, 
     loader: 'babel-loader', 
     query: { 
      presets: ['es2015'] 
     } 
     } 
    ] 
    } 

Wenn Sie das Tutorial folgen, müssen Sie auch die folgenden Pakete hinzufügen (anscheinend), wie sie https://github.com/babel/babel-loader (Dies beschrieben Thema ist hier berührt https://webpack.js.org/concepts/#loaders aber ich kann nicht herausfinden, ob es die neueste Version gegeben veraltet ist oder wenn es nicht aus einem anderen Grund)

npm install babel-loader babel-core babel-preset-es2015 --save-dev

die ganze comple arbeitete Die Datei webpack.config.js sieht folgendermaßen aus:

module.exports = { 
    entry: './app/index.js', 
    output: { 
    filename: 'bundle.js', 
    path: './dist' 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.(js|jsx)$/, 
     loader: 'babel-loader', 
     query: { 
      presets: ['es2015'] 
     } 
     } 
    ] 
    } 
}; 
Verwandte Themen