Grunt nasıl kurulur ve onunla nasıl script oluşturulur


86

Merhaba Grunt'u Windows 7 64 bit üzerine yüklemeye çalışıyorum. Grunt'ı komutları kullanarak kurdum

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

ama şimdi yapmaya çalışırsam grunt init, bu bana bir hata veriyor -

Geçerli bir Gruntfile bulunamadı. Grunt'ı nasıl yapılandıracağınızla ilgili daha fazla bilgi için lütfen başlangıç ​​kılavuzuna bakın: http://gruntjs.com/getting-started Önemli hata: Gruntfile bulunamıyor.

Ama sistemimdeki grunt klasörünün içine baktığımda Gruntfile.jsorada. Birisi bana bu grunt'u nasıl düzgün bir şekilde kuracağımı ve grunt kullanarak yerleşik Script'i nasıl yazacağımı yönlendirebilir mi? Grunt kullanarak bir betik oluşturmak istersem bir HTML sayfam ve java betiğim var bunu nasıl yapabilirim?


1
npm install -g gruntartık tavsiye edilmeyen Grunt'u global olarak kurmak anlamına gelir (Grunt 0.4 ile başlayarak).
Ludder

Yanıtlar:


229

GruntJS derlemesini kurmak için aşağıdaki adımlar şunlardır:

  1. package.jsonYeni bir tane kurduğunuzdan veya kurduğunuzdan emin olun :

    npm init
    
  2. Grunt CLI'yi global olarak yükleyin:

    npm install -g grunt-cli
    
  3. Grunt'u yerel projenize yükleyin:

    npm install grunt --save-dev
    
  4. Oluşturma sürecinizde ihtiyaç duyabileceğiniz herhangi bir Grunt Modülünü kurun. Sadece bu örnek uğruna, dosyaları bir araya getirmek için Concat modülü ekleyeceğim:

    npm install grunt-contrib-concat --save-dev
    
  5. Şimdi Gruntfile.js, oluşturma sürecinizi tanımlayacak olanı kurmanız gerekiyor . Bu örnek için sadece iki JS dosyaları birleştirmek file1.jsve file2.jsiçinde jsklasöre ve üretmek 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. Şimdi aşağıdaki komutu kullanarak derleme sürecinizi çalıştırmaya hazır olacaksınız:

    grunt
    

Umarım bu size GruntJS build ile nasıl çalışılacağı konusunda bir fikir verir.

NOT:

grunt-initOluşturmak için kullanabilirsinizGruntfile.js5. adım için ham kodlama yerine sihirbaz tabanlı oluşturma istiyorsanız .

Bunu yapmak için lütfen şu adımları izleyin:

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

Windows kullanıcıları için: Eğer cmd.exe'yi kullanıyorsanız değişikliğine ihtiyaç ~/.grunt-init/gruntfileiçin %USERPROFILE%\.grunt-init\. PowerShell ~,.


aradığım şey bu, teşekkürler. ayrıca, gruntfile.js'nin proje kök klasörüne yerleştirilmesi gerekli midir (başka türlü windows üzerinde çalışamaz)?
chester89

1
Adım 5 temelde kullanılarak kurulabilir grunt init:gruntfilemi? Bunu yaparken denedim ama her zaman bir hata alıyorum: Fatal error: Unable to find Gruntfile. Gruntfile.js'nin oluşturulması her zaman manuel bir süreç midir? Öyleyse, Gruntfile.js'nin otomatik olarak oluşturulduğu durumlarda Yeoman'ı kullanmanın bir yararı görüyorum (ve bu, aslında webapps olmayan, oluşturacağım projeler için hala geçerli.
micah

@micah, Gruntfile'ı kolayca oluşturmak için grunt-init aracını kullanabilirsiniz. Ana gönderiyi güncelleyip not olarak ekleyeceğim.
Qorbani

@qorbani Sonra kafam karıştı. Bu homurtu olmayan proje için bir dizinde, 1-4. Şimdi koştum npm install -g grunt-initve başarıyla kuruldu. Bunu takip ettim grunt init:gruntfileve hala aynı ölümcül hatayı veriyor. Neyi kaçırıyorum?
micah

grunt init: gruntfile doğru değil. grunt-init, şablon tabanlı iskele için farklı bir yardımcıdır ve Gruntfile.js oluşturabilmek için gruntfile şablonu yüklemeniz gerekir
Qorbani

8

Bir süre WINDOWS için PATH değişkenini ayarlamamız gerekiyor

% USERPROFILE% \ AppData \ Roaming \ npm

Bu testten sonra where grunt

Not: Komut istemi penceresini kapatıp yeniden açmayı unutmayın.


5

Aynı sorunu yaşadım, ancak Grunt.js'mi Gruntfile.js olarak değiştirerek çözdüm Windows cmd'de grunt.cmd yazmadan önce dosya adınızı kontrol edin (Windows kullanıyorsanız).


2

Grunt-cli'yi projenin devDependency'leri kurmalı ve sonra bunu package.json dosyanızdaki bir betik aracılığıyla çalıştırmalısınız. Bu şekilde, proje üzerinde çalışan diğer geliştiricilerin tümü aynı grunt sürümünü kullanıyor olacak ve ayrıca kurulumun bir parçası olarak global olarak yüklemeleri gerekmeyecek.

Grunt-cli'yi npm i -D grunt-cliglobal olarak kurmak yerine ile kurun -g.

//package.json

...

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

Sonra npm run buildhomurtu ateşlemek için kullanın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.