Come installare grunt e come creare script con esso


86

Ciao, sto cercando di installare Grunt su Windows 7 a 64 bit. Ho installato Grunt usando i comandi

 npm install -g grunt
 npm install -g grunt-cli

ma ora se provo a farlo grunt init, mi sta lanciando un errore -

Non è stato possibile trovare un Gruntfile valido. Consultare la guida introduttiva per ulteriori informazioni su come configurare grunt: http://gruntjs.com/getting-started Errore irreversibile: impossibile trovare Gruntfile.

Ma quando guardo all'interno della cartella grunt sul mio sistema, Gruntfile.jsè lì. qualcuno può guidarmi per favore come installare correttamente questo grugnito e come scrivere script compilato usando il grugnito. Ho una pagina HTML e uno script java se voglio creare uno script usando Grunt come posso farlo?


1
npm install -g gruntsignifica installare Grunt a livello globale che non è più raccomandato (a partire da Grunt 0.4).
Ludder

Risposte:


229

Per configurare GruntJS build ecco i passaggi:

  1. Assicurati di aver configurato package.jsono impostato uno nuovo:

    npm init
    
  2. Installa Grunt CLI come globale:

    npm install -g grunt-cli
    
  3. Installa Grunt nel tuo progetto locale:

    npm install grunt --save-dev
    
  4. Installa qualsiasi modulo Grunt di cui potresti aver bisogno nel tuo processo di compilazione. Solo per il bene di questo esempio aggiungerò il modulo Concat per combinare i file insieme:

    npm install grunt-contrib-concat --save-dev
    
  5. Ora devi impostare il tuo Gruntfile.jsche descriverà il tuo processo di costruzione. Per questo esempio, combino solo due file JS file1.jse file2.jsnella jscartella e creo app.js:

    module.exports = function(grunt) {
    
        // Project configuration.
        grunt.initConfig({
            concat: {
                "options": { "separator": ";" },
                "build": {
                    "src": ["js/file1.js", "js/file2.js"],
                    "dest": "js/app.js"
                }
            }
        });
    
        // Load required modules
        grunt.loadNpmTasks('grunt-contrib-concat');
    
        // Task definitions
        grunt.registerTask('default', ['concat']);
    };
    
  6. Ora sarai pronto per eseguire il processo di compilazione seguendo il comando:

    grunt
    

Spero che questo ti dia un'idea di come lavorare con GruntJS build.

NOTA:

Puoi usare grunt-initper creareGruntfile.js se si desidera la creazione basata su procedura guidata invece della codifica grezza per il passaggio 5.

Per farlo, segui questi passaggi:

npm install -g grunt-init
git clone https://github.com/gruntjs/grunt-init-gruntfile.git ~/.grunt-init/gruntfile
grunt-init gruntfile

Per utenti Windows: se si utilizza cmd.exe, è necessario passare ~/.grunt-init/gruntfilea %USERPROFILE%\.grunt-init\. PowerShell riconoscerà ~correttamente.


è quello che stavo cercando, grazie. inoltre, è necessario che gruntfile.js sia posizionato nella cartella principale del progetto (non è possibile farlo funzionare altrimenti su Windows)?
chester89

1
Il passaggio 5 potrebbe essere impostato in modo molto semplice utilizzando grunt init:gruntfile? Ho provato a fare questo, ma ottengo sempre un errore: Fatal error: Unable to find Gruntfile. La creazione di Gruntfile.js è sempre un processo manuale? In tal caso, vedo un vantaggio nell'usare Yeoman in cui un Gruntfile.js viene generato automaticamente (e questo vale ancora per i progetti che creerei che non sono effettivamente webapp.
micah

@micah, puoi usare lo strumento grunt-init per creare facilmente Gruntfile. Aggiornerò il post principale e lo aggiungerò come nota.
Qorbani

@qorbani Allora sono confuso. In una directory per questo progetto non grugnito, ho già seguito i passaggi 1-4. Ora ho appena eseguito npm install -g grunt-inite installato con successo. Ho seguito questo con grunt init:gruntfilee mi dà ancora lo stesso errore fatale. Cosa mi sto perdendo?
micah

grunt init: gruntfile non è corretto. grunt-init è un aiuto diverso per le impalcature basate su modelli ed è necessario installare il modello gruntfile per poter generare Gruntfile.js
Qorbani

8

Qualche volta abbiamo bisogno di impostare la variabile PATH per WINDOWS

% USERPROFILE% \ AppData \ Roaming \ npm

Dopo quel test con where grunt

Nota: non dimenticare di chiudere la finestra del prompt dei comandi e di riaprirla.


5

Ho avuto lo stesso problema, ma l'ho risolto cambiando il mio Grunt.js in Gruntfile.js Controlla il nome del tuo file prima di digitare grunt.cmd su Windows cmd (se stai usando Windows).


2

Dovresti installare grunt-cli nelle devDependencies del progetto e quindi eseguirlo tramite uno script nel tuo package.json. In questo modo gli altri sviluppatori che lavorano al progetto useranno tutti la stessa versione di grunt e non dovranno installare globalmente come parte del setup.

Installa grunt-cli con npm i -D grunt-cliinvece di installarlo globalmente con -g.

//package.json

...

"scripts": {
  "build": "grunt"
}

Quindi usa npm run buildper sparare grugnito.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.