2014-12-20 10 views
19

Quindi ho letto su Gulp e Grunt e su come possono ridurre il codice, comprimere i file, combinare i file in uno, fegato, ecc. Tuttavia, lo Meteor fa già tutto ciò, con Isobuild.Meteor ha bisogno di Gulp o Grunt?

Il motivo per cui chiedo è che qualcuno abbia suggerito di usare Gulp con Meteor e non ne vedo il bisogno. Quali sono alcune possibili ragioni per cui dovrei correre Gulp al fianco di Meteor? O è semplicemente ridondante?

Se non è ridondante, quali caratteristiche ha Gulp che non è in Isobuild? E il team Meteor prevede di incorporare Gulp nelle sue prossime versioni?

+3

No, Meteor ha il suo [sistema di compilazione chiamato Isobuild] (https://www.meteor.com/isobuild). Come hai detto tu, questo gestisce automaticamente la visualizzazione dei tuoi file, la loro compilazione, la concatenazione e la minimizzazione e l'invio al browser o al server per hot code push. Persino anche in live-inject modifiche CSS nell'applicazione in esecuzione. I pacchetti Meteor possono anche essere collegati a Isobuild, come la registrazione di nuovi gestori di file. – sbking

+0

@sbking Grazie per il link, non ero (anche se dovrei essere) a conoscenza di Isobuild. Sarebbe corretto pensare a Isobuild come più focalizzato sul permettere lo ** stesso ** processo di compilazione per l'utente indipendentemente dalla piattaforma, oltre a concentrarsi sulla semplificazione del processo di compilazione? Se è così, ci sono ancora cose che Gulp può fare che Isobuild non può fare? – dayuloli

+2

Gulp consente un maggiore controllo sulle specifiche del processo di compilazione. Isobuild automatizza il processo di compilazione in modo mirato specificamente per applicazioni e pacchetti Meteor, il che rende estremamente facile scrivere codice isomorfo che può essere impacchettato per vari ambienti. Non mi preoccuperei di complicare il processo di compilazione, a meno che non si possa pensare ad un compito specifico di cui hai bisogno Gulp, che non può essere gestito con un plugin Isobuild. Non riesco a pensare personalmente a un motivo per usare Gulp con Meteor. – sbking

risposta

31

Il bisogno probabilmente non è la parola giusta. Che tu lo voglia o no è una storia diversa.

Come i commenti menzionati sopra, Meteor include un sistema di costruzione molto intelligente di sua propria denominata isobuild, che crea l'applicazione WHOLE per te. Ma ci sono certamente casi in cui potresti volere i tuoi compiti che sarebbe meglio realizzare attraverso il grugnito o il sorso. (La gamma di attività che è possibile eseguire con questi è sconcertante, quindi elencherò solo un paio di semplici esempi comuni)

Il più ovvio sarà per le risorse che si desidera inserire nella cartella pubblica. Ma questo è lontano da un elenco esaustivo di attività che potresti voler automatizzare su un progetto più ampio.

  • compilazione SASS non i file usando il compilatore libsass (perché non supporta tutte le funzioni)
  • Comprimere e ottimizzare le immagini, i file in formato SVG, favicon, ecc
  • Creare formati multipli/versioni delle immagini
  • creare fogli di Sprite
  • Concatenate e gli script minify nel proprio ordine/modo
  • Combinare con Bower per gestire i pacchetti front-end che non sono disponibili attraverso l'atmosfera, ecc

Il modo in cui ci si avvicina è mettendo tutto questo nella cartella privata, quindi è evitato dal sistema di costruzione di isobuild della meteora.

Credo che questi siano sufficienti motivi per non considerare Gulp o Grunt ridondanti, e la gamma di attività possibili con grunt o gulp è così varia che non possono essere tutti elencati qui. Inutile dire che IsoBuild è fantastico per quello che fa, ma non sostituisce tutto ciò che è possibile con questi task runner, e per quanto ne so non ci sono piani per incorporare Gulp in IsoBuild. IsoBuild è il nucleo di ciò che Meteor è, gulp e grunt sono strumenti di automazione molto potenti con migliaia di possibili usi.

Heres davvero un grande antipasto per gulp, la sua super semplice per iniziare con: NodeJitsu Gulp tutorial

Quindi, certo, non si necessità grugnito o sorso, ma potrebbe certamente avere un posto produttivo nella vostra progetto meteorico e sono sicuramente strumenti utili per fare i conti con per snellire i processi di sviluppo.

Se si desidera utilizzare sia grugnito o sorso, questo è come mi avvicino strutturare il mio progetto:

Project-folder 
    |__ webapp // my meteor app lives here 
    |__ assets // scss/images/svgs 
    |__ node_modules 
    | gruntfile.js 
    | .eslintrc 
    | package.json 

Ho poi costruisco, minify e alla comunicazione dei miei beni, con i miei directory di destinazione in webapp/public

Si noti che con il supporto completo di npm in arrivo su [email protected], questo potrebbe cambiare, sebbene non sia chiaro se saremo in grado di inviarlo ancora nel progetto.

+0

Risposta eccellente – pilau

+1

Grazie a pilau, ho interrogato la stessa cosa ultimamente, dato che sono un grande fan del grugnito, e ho trovato che funziona piuttosto bene insieme al sistema di costruzione di meteore.E 'interessante per me come l'ipotesi intorno a Meteor sembra essere chiusa e non così flessibile come lo è in realtà. – pushplaybang

+0

Ben detto, io stesso sono relativamente nuovo a Meteor, tuttavia, io tendo a seguire la filosofia di usare lo strumento giusto per il lavoro, ad esempio - Meteora con React, Angular e Browserify, ecc. – pilau

Problemi correlati