2016-04-27 7 views
2

Ich habe eine Multi-Datei-Projekt, mit ES6-Stil export s und import s.Wie schreibe ich eine Multi-Datei NPM-Paket mit Brunch

Ich verwende Brunch zum Verketten dieser Dateien in 1 main.js Datei, die als main für ein NPM-Paket dienen wird.

Um die API meines Pakets anzugeben, brauche ich export s in main.js. Aber wenn Brunch meine js Dateien verkettet, bin ich besorgt, dass (1) export s, die für interne import s und (2) export s gemeint sind für meine API wird beide gleich aussehen.

Blick auf die generierte main.js Datei scheint es wie die export s Ich schreibe in meinem Quellcode in Module verpackt, aber keine dieser sind Top-Level-Exporte wie die für NPM-Pakete benötigt.

Wie kann ich NPM zwischen diesen beiden Arten von export s unterscheiden lassen? Insbesondere, wie kann ich export s in der main.js Datei durch Brunch Verkettung generiert haben?

Antwort

0

Brunch ist not designed for writing libraries, sondern eher zum Erstellen von Apps.

Ich brauche keine Dateien überhaupt zu verketten, sie zu NPM zu veröffentlichen, so stattdessen habe ich Babel mit Reagieren und ES6 Presets verwendet, um meine ES6 .jsx Dateien zu umwandeln .js Dateien ES5.

Ich mache dann eine Datei (zB main.js) wo ich meine Bibliothek exportieren und als main in package.json einstellen.

Ich kann dann Brunch verwenden, um eine App mit dem React-Skelett (brunch new -s brunch/with-react), npm install <my-package> und import meine Bibliothek innerhalb meiner App zu erstellen.