2016-07-19 10 views
5

Czy istnieje sposób korzystania z ładowarek Webpack w aplikacji węzeł/Uruchom aplikację węzła w środowisku Webpack?Jak korzystać z ładowarek Webpack w aplikacji węzła?

Na przykład mam konfigurację Webpack, która ma styl-loader. W mojej aplikacji Node I wykonaj następujące czynności:

import style from 'style.css' 

console.log(style.someClass) 

Chcę biec go jak $ node app.js ładowarki

Odpowiedz

0

WebPACK nie są transpilers lub tłumaczy, że proste zgromadzić aktywa, które są następnie obrabiane off do czegoś podobnego SASS lub konkatenator tekstu; w ramach środowiska Webpacks.

W ten sposób nie można ich ponownie użyć w sposób, w jaki chcesz, ponieważ podczas gdy możesz oczywiście importować i wywoływać je (nadal są to tylko funkcje + klasy), nie konwertują CSS na obiekty JSON (nie rób tego), jak napisałeś w pożądanym przykładzie.

To wygląda po prostu trzeba implementację JS parsera css - spojrzeć na https://github.com/reworkcss/css

+0

Szukam czegoś, co pozwala mi uruchomić blok kodu w środowisku Webpack. Nie szukam konkretnego programu ładującego CSS, to tylko przykład. Ale wygląda na to, że jedynym sposobem na uruchomienie kodu w środowisku Webpack jest uruchomienie go za pomocą Webpacka: '$ webpack app.js' – haxpanel

0

powinieneś być w stanie stworzyć kompilację kierowania środowiska node które można ostatecznie uruchomić po prostu dzwoniąc node output.js i to natychmiast wykona moduł punktu wejścia.

Należy pamiętać, że w przypadku, gdy używasz nowszej wersji Node.js, ten pakiet Webpack nie obsługuje składni modułu ES2015, więc musisz skonfigurować Babel dla Node.js, a także dla transform the modules.

1

Mam pomysł, który może działać, oparty na Webpack NodeJS API. Co jeśli umieścić kod, który chcemy, aby móc korzystać ze środowiska WebPACK (ze skonfigurowanym ładowarki Module) w module:

appModule.js:

import style from 'style.css' 

console.log(style.someClass) 

And require to z następujących powodów:

app.js:

import Webpack from 'webpack' 
import MemoryFS from 'memory-fs' 

... 

webpackConfig.entry = 'appModule.js' 
webpackConfig.output = 'appModule-out.js' 

let compiler = Webpack(webpackConfig) 
let mfs = new MemoryFS() 

compiler.outputFileSystem = mfs 
compiler.run(function (err, stats) { 
    require(webpackConfig.output) 
}) 

Prawdopodobnie nie będzie działać, ponieważ wymaga spojrzenia na wyjściu na fizycznym FS ... możemy require z pamięci FS? Jeszcze tego nie próbowałem - Jakiś pomysł?

Powiązane problemy