Implementazione Node.js - npm o gulp

6

Supponiamo che io abbia un progetto scritto in JS tramite framework come Node.js e Express . Utilizza inoltre Mocha come framework di test e Gulp come sistema di compilazione.

Mi chiedo quale sia il modo migliore per esporre installazione, test e distribuzione agli utenti.

Voglio dire, gli utenti di solito devono fare le seguenti cose:

  • Installa Node.js e npm
  • Installa le dipendenze (npm, bower ecc.)
  • Preelaborare CSS / JS (ad esempio Sass, Meno ecc.), ridimensionare le immagini ecc.
  • Esegui test
  • Esegui l'applicazione

Quale di queste attività dovrebbe essere gestita tramite il sistema di build (in questo caso Gulp) e quale da npm?

Suppongo che ci siano due modi:

  • Fai tutto con Gulp. gulp install installerà tutte le dipendenze npm e bower, gulp preprocess preelaborerà CSS / JS / immagini, gulp test eseguirà Mocha ecc. Comunque, npm start dovrebbe essere gestito separatamente perché l'esecuzione di un server web non è un tipico compito del sistema di build.
  • Forza l'utente a eseguire tutte le operazioni tramite i comandi npm in questo modo:

package.json

  "scripts": {
    "ins": "npm install && bower install && gulp preprocess",
    "test": "gulp test",
    "start": "node --harmony server.js",
    "deploy": "npm run ins && gulp --harmony"
  }

Sì, usa comunque il gulp sotto il cappuccio ma è nascosto all'utente, quindi sembra che usi solo npm. Penso che sia bello limitare l'utente a npm, quindi non devono sapere nulla sullo strumento aggiuntivo, e possiamo passare a un altro sistema di generazione in qualsiasi momento successivo senza riscrivere il manuale del processo di distribuzione.

Che ne pensi? Esistono buone pratiche relative a questo problema?

    
posta FrozenHeart 21.08.2016 - 13:31
fonte

1 risposta

2

Non usare il gulp. Gulp è una perdita di tempo. Usa npm per installare le dipendenze, usa uno script npm postinstall per eseguire i preprocessori e usa gli script npm o semplicemente la vecchia documentazione per dire ai tuoi utenti quali file eseguire node tests e node main su. Sono sicuro che cose simili possono essere fatte via Bower.

Per maggiori informazioni sul motivo per cui dovresti smettere di usare grunt o gulp, leggi qui: link

    
risposta data 02.03.2017 - 10:10
fonte