to krótko obejmuje pewne podstawy węzła.
0. Porządkowanie kodu. Konwencja polega na umieszczeniu głównego kodu aplikacji węzła w pliku o nazwie app.js
w katalogu głównym projektu.
Wewnątrz app.js rzeczy są podzielone na dwie główne części:
- synchroniczne inicjacji: require modułów zbudować katalogi, przeczytaj configs, połączenia DB, itd Rzeczy, które blokują, więc muszą istnieć lub umieraj szybko.
- asynchroniczne zadania aplikacji: serwer startowy, procesy w tle, autopompilacja CSS & JS, routing, i/O itp. Rzeczy, które znajdują się w pętli zdarzeń.
1. Skompiluj rysik do CSS podczas budowania aplikacji. Musimy wymagać modułu stylus. Zwykle robi się to na początku pliku app.js, aby zachować zależności.
var stylus = require('stylus');
Po raz pierwszy węzeł prowadzi app.js
, trzeba to JS moduł do budowy CSS. To jest podstawowy pomysł:
Oto oficjalny Stylus Javascript API.
Aby użyć potęgi węzła, należy odczytać plik rysika używając fs module do bufora, następnie przekonwertować go na ciąg znaków, a na koniec przekazać go do stylus.render()
. Następnie wyślij wynik do pliku docelowego. Ponieważ jest to część procesu kompilacji, może być synchroniczna. Ale tak naprawdę to nie jest twoje pytanie ...
2. Auto-kompilacja CSS z rysikiem jako proces w tle.
Ta funkcja spawns child_process że zegarki pojedynczego .styl
plik i kompiluje zawarte .styl
plików do pliku .css
. Nie potrzebujesz do tego modułu, wystarczy zainstalować plik wykonywalny rysika, aby działał on w linii poleceń. (Już to zrobiłeś). Ten przykład został wykonany za pomocą rysika w wersji 0.5.0. Ponadto używane ścieżki folderów (np. build/styles
i styles
) muszą istnieć.
Następnie należy wywołać tę funkcję w dowolnym momencie po uruchomieniu aplikacji. Przekaż plik główny jako .styl
. Następnie katalog docelowy, w którym chcesz przenieść swój CSS.
// check that you passed '-w' parameter
if (process.argv[2] && (process.argv[2] == "-w")) {
watchStyles('styles/app.styl', 'build/styles');
}
Uruchom aplikację, uruchamiając: $ node app.js -w
Pomaga uporządkować .styl
plików pod jednym app.styl
więc, że zawartość Twojego app.styl
wygląda następująco:
@import 'layout'
@import 'header'
@import 'main'
@import 'footer'
@import 'modal'
@import 'overrides'
Ok, ta część, gdzie jest napisane „Następnie dodać tę linię do konfiguracji Twojej aplikacji”, co konfiguracyjnym aplikacji. Jedyne, czego potrzebuję node.js, to skompilować mój plik rysika. Moja aplikacja internetowa nie wymaga pliku node.js i nie chcę dołączać pliku node.js do mojej aplikacji internetowej. – ryanzec
Zmieniono moją odpowiedź ... mam nadzieję, że ma to więcej sensu ... – silverfighter