2016-12-28 8 views
11

Chcę utworzyć bibliotekę frontendową. Dlatego chcę korzystać z pakietu internetowego. Szczególnie podoba mi się css i program ładujący obrazy. Mogę jednak wymagać tylko plików innych niż JS, jeśli używam pakietu WebPack. Ponieważ buduję bibliotekę, nie mogę powiedzieć, że będzie to również użytkownik mojej biblioteki.Jak spakować bibliotekę za pomocą pakietu internetowego?

Czy istnieje sposób, aby połączyć wszystko w moduł UMD, aby go opublikować? Próbowałem używać wielu punktów wejścia, jednak nie mogę wymagać modułu wtedy.

góry dzięki

+0

Może brakuje mi czegoś, masz na myśli, że chcesz opublikować pakiet biblioteki na przykład, a użytkownicy "importują" go? Dlaczego więc "mogę wymagać tylko plików innych niż JS, jeśli używam webpacka"? Czy mógłbyś podać przykład? I o "Próbowałem używać wielu punktów wejścia" Czy rozważałeś możliwość, że nie potrzebujesz "webpacka" - wystarczy tylko "babel"? –

+0

Tak, rozważałem tylko używanie babel. Jeśli jednak wymagam ("./ coś.css") i nie używam webpacka w projekcie, którego wymagam ("moja-biblioteka"). Jeśli to uruchomię, to nie zadziała. –

+0

Więc chcesz stworzyć bibliotekę, która byłaby używana bez pakietu sieciowego? Ok. Czy próbowałeś go z jednym punktem wejścia? –

Odpowiedz

9

Można znaleźć dobrego przewodnika do tworzenia bibliotek w Webpack 2,0 documentation site. Dlatego dla tego przykładu używam składni ver 2 w webpack.config.js.

Oto Github repo z przykładową biblioteką.

Buduje wszystkie pliki z src/ (js, png i css) w jednej wiązce JS, które można po prostu wymagane jako moduł umd.

na które musimy określić ustawienia podążać webpack.config.js:

output: { 
    path: './dist', 
    filename: 'libpack.js', 
    library: 'libpack', 
    libraryTarget:'umd' 
}, 

i package.json powinien posiadać:

"main": "dist/libpack.js", 

Należy pamiętać, że trzeba stosować odpowiednie ładowarki zapakować wszystko w jednym pliku . na przykład base64-image-loader zamiast file-loader

+0

Czy jest tak, że obrazy z biblioteki mogą być używane tylko wtedy, gdy są one wstawione? – davesaus

+0

@davesaus można przechowywać obrazy w oddzielnych plikach. To zależy od tego, w jaki sposób zamierzasz go użyć, a następnie: –

+0

Co jest potrzebne, jeśli chcę, aby aplikacja również była budowana razem z biblioteką? –