javascript - scripturi npm nodemon - monitorizarea fișierelor js și scss pentru modificări


Experimentez cu configurarea unui mediu de dezvoltare pentru a folosi doar NPM, fără a folosi grunt.js sau bower.js.

Am urmat acest tutorial: http://beletsky.net/2015/04/npm-for-everything.html

Folosesc nodemon pentru a urmări fișierele mele .js și .scss pentru modificări, ceea ce repornește serverul node. Așadar, în fișierul meu package.json, sub secțiunea scripts am

scripturi :

"watch-js": "nodemon -e js --watch public/js -x \"npm run build-js\"",
"watch-sass": "nodemon -e scss --watch public/sass -x \"npm run build-sass\"",
"watch": "npm run watch-js & npm run watch-sass"

Dar când rulez npm run watch, acesta urmărește doar schimbările în fișierele public/js. Și declanșează o compilare corespunzătoare.

Dar nu va urmări fișierele sass.

Versiuni: node v0.10.36 nodemon v1.4.1

De asemenea, includ un script de construire care, dacă îl rulez, compilează sass în css, așa că scriptul meu build-sass ar trebui să fie în regulă

"build": "npm run build-js & npm run build-sass",
"watch": "npm run watch-js & npm run watch-sass"

Răspuns #1

Dacă folosești Windows, s-ar putea să întâmpini problema Windows

Deoarece npm se bazează pe shell-ul sistemului de operare pentru a rula comenzile scripturilor, acestea pot deveni rapid neportabile. În timp ce Linux, Solaris, BSD și Mac OSX vin preinstalate cu Bash ca shell implicit, Windows nu face acest lucru. Pe Windows, npm va recurge la utilizarea promptului de comandă Windows pentru aceste lucruri

Dacă da, poți încerca să folosești parallelshell sau npm-run-all pentru o mai bună compatibilitate între platforme.

Răspunsul #2

Acest lucru funcționează pentru mine în Mac OS

  1. Instalează nodemon

    npm install --save-dev nodemon
  2. Instalează npm-run-all:

    npm install --save-dev npm-run-all
  3. În fișierul package.json adaugă două scripturi:

    "startn": "nodemon ./app.js", "watch-jscss": "gulp watch"

    • Unde 'app.js' este fișierul tău de server
    • "gulp watch" poate fi înlocuit de orice sarcină care efectuează un watch pentru sass
  4. În consolă:

    npm-run-all --parallel watch-jscss startn