2015-04-03 7 views

Antwort

9

Sie führen den Code höchstwahrscheinlich nicht in einer Umgebung aus, die CommonJS-Module unterstützt. Sie können einen Bundler verwenden, z. B. Browserify oder webpack , um Ihre Module in etwas zu bündeln, das in verschiedenen Umgebungen ausgeführt werden kann.

Oder Sie könnten eine andere module transformer wählen.


Mit webpack

Run npm install -g webpack; npm install -D babel-loader. Dann mit dieser webpack Konfiguration:

// webpack.config.js 
module.exports = { 
    entry: "./path/to/entry/module.js", 
    output: { 
     path: __dirname, 
     filename: "bundle.js" 
    }, 
    module: { 
     loaders: [ 
     { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"} 
     ] 
    } 
}; 

den webpack Befehl ausführen konvertiert alle *.js Dateien erreichbar über die Eingabedatei mit babel und bündeln sie zusammen in bundle.js.

+0

oh importieren Ich könnte einfach die Babel-Ausgabe im Browser – SuperUberDuper

+0

laufen lassen, also lade ich einfach Webpack in npm herunter und benutze das Skript? – SuperUberDuper

+0

Ich empfehle die Dokumentation des Webpacks zu lesen :) Siehe auch https://babeljs.io/docs/using-babel/#webpack in diesem Fall. –

2

Ich lese einen Artikel darüber, wie der ES6-Import und -Export nur im Browser mit "statisch analysierbaren Dateien" funktionieren soll und dass Babel aus diesem Grund die Import- und Exportunterstützung im Browser entfernt hat. Etwas mit Async oder möglicherweise Sicherheit zu tun?

Wenn Sie die serverseitige Bündelung für dev Zwecke überspringen möchten, können Sie

window.MyModule = MyModule am Boden setzen, dann

var MyModule = window.MyModule an der Spitze der nächsten Datei dachte ich