Ich folgte einem Es6-Klassen-Tutorial und machte eine nette kleine d3-Visualisierung. Dann machte ich eine zweite, und dachte, ich sollte etwas tun, um sie in eine Bibliothek zu bündeln, so zunächst Module versucht (dann entdeckte Browser unterstützen sie noch nicht), und dann installierte ich Webpack 1.13 und require()
verwendet (weil, obwohl es schien import
sollte funktionieren, hat es nicht, nicht unterstützt bis 2.0).wie man eine Es6-Klasse instanziiert, nachdem es von Webpack in eine Funktion gebündelt wurde
Nur, jetzt statt export default class Foo(data, args)
in meinem Bundle.js Ich habe var Foo = function() { function Foo(data, args) ...
.
Der Interpreter beklagt sich gerade, wenn ich versuche, Foo.Foo(data, args)
, aber meine Intuition hier ist, dass vortäuschen eine Frankenklasse auf diese Weise wahrscheinlich ist nicht das, was Webpack beabsichtigt? Und ja, ich könnte einfach alle meine Moduldateien in meine eigene bundle.js verketten und dann new Foo()
gehen, aber ich versuche, ein richtiges Bündelungwerkzeug zu benutzen.
Ich habe das Gefühl, dass es eine große Lücke in der Online-Dokumentation gibt zwischen dem, was in ES6 "möglich" ist und wie Sie es tatsächlich im Webpack umsetzen.
Was ist die Schritt-für-Schritt-Methode zur Bündelung von Modulen mit Webpack, sodass Sie Ihre Klassen aus dem Bundle in Ihrem index.js-Skript installieren können?
Anhang: (Was ich bisher getan)
├── bundle.js #supposed to bundle Foo and Bar
├── bundle.js.map
├── index.html #include bundle.js and index.js before </body>
├── index.js #want to be able to new Foo() and Bar()
├── js
| ├── foo.js Foo() lives here
| └── bar.js Bar() lives here
├── LICENSE
├── node_modules
| └── (stuff)
├── package.json
├── README.md
├── test
| └── (stuff)
└── webpack.config.js # builds without errors
'so zunächst Module versucht, (dann erkannte Browser unterstützen sie noch nicht),' Sie können sie jetzt verwenden, https://github.com/systemjs/systemjs – Keith
Auch wenn Sie blendende Javascript wollen, gibt es auch http://jspm.io/, die automatisch Ihre Dateien babel. – Keith
Danke, ich kann hier mit systemjs gehen, würde aber gerne wissen, wie man das mit webpack macht (für Interoperabilität mit und bestehendes Projekt, das webpack verwendet) – Escher