Cách cài đặt grunt và cách xây dựng tập lệnh với nó


86

Xin chào, tôi đang cố gắng cài đặt Grunt trên Windows 7 64 bit. Tôi đã cài đặt Grunt bằng lệnh

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

nhưng bây giờ nếu tôi cố gắng làm điều đó grunt init, nó đang mang lại cho tôi một lỗi -

Không thể tìm thấy Gruntfile hợp lệ. Vui lòng xem hướng dẫn bắt đầu để biết thêm thông tin về cách định cấu hình grunt: http://gruntjs.com/getting-started Lỗi nghiêm trọng: Không thể tìm thấy Gruntfile.

Nhưng khi tôi nhìn vào bên trong thư mục grunt trên hệ thống của mình, Gruntfile.jsnó vẫn ở đó. ai đó có thể vui lòng hướng dẫn tôi cách cài đặt grunt này đúng cách và cách viết Script đã xây dựng bằng grunt không. Tôi có một trang HTML và tập lệnh java nếu tôi muốn xây dựng một tập lệnh bằng Grunt, làm thế nào tôi có thể làm điều đó?


1
npm install -g gruntnghĩa là cài đặt Grunt trên toàn cầu không còn được khuyến khích (bắt đầu với Grunt 0.4).
Ludder

Câu trả lời:


229

Để thiết lập bản dựng GruntJS, đây là các bước:

  1. Đảm bảo bạn đã thiết lập package.jsonhoặc thiết lập mới:

    npm init
    
  2. Cài đặt Grunt CLI dưới dạng toàn cầu:

    npm install -g grunt-cli
    
  3. Cài đặt Grunt trong dự án cục bộ của bạn:

    npm install grunt --save-dev
    
  4. Cài đặt bất kỳ Mô-đun Grunt nào bạn có thể cần trong quá trình xây dựng của mình. Chỉ vì mục đích của mẫu này, tôi sẽ thêm mô-đun Concat để kết hợp các tệp với nhau:

    npm install grunt-contrib-concat --save-dev
    
  5. Bây giờ bạn cần thiết lập của bạn Gruntfile.jssẽ mô tả quá trình xây dựng của bạn. Đối với mẫu này, tôi chỉ cần kết hợp hai tệp JS file1.jsfile2.jstrong jsthư mục và tạo 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. Bây giờ bạn sẽ sẵn sàng chạy quy trình xây dựng của mình bằng lệnh sau:

    grunt
    

Tôi hy vọng điều này cung cấp cho bạn ý tưởng về cách làm việc với bản dựng GruntJS.

GHI CHÚ:

Bạn có thể sử dụng grunt-initđể tạo Gruntfile.jsnếu bạn muốn tạo dựa trên trình hướng dẫn thay vì viết mã thô cho bước 5.

Để làm như vậy, vui lòng làm theo các bước sau:

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

Đối với người dùng Windows: Nếu bạn đang sử dụng cmd.exe, bạn cần thay đổi ~/.grunt-init/gruntfilethành %USERPROFILE%\.grunt-init\. PowerShell sẽ nhận dạng ~chính xác.


đó là những gì tôi đang tìm kiếm, cảm ơn. Ngoài ra, có yêu cầu gruntfile.js phải được đặt trong thư mục gốc của dự án (không thể làm cho nó hoạt động trên windows)?
chester89

1
Bước 5 có thể được thiết lập rất cơ bản bằng cách sử dụng grunt init:gruntfilekhông? Tôi đã cố gắng làm điều này nhưng tôi luôn nhận được một lỗi: Fatal error: Unable to find Gruntfile. Việc tạo Gruntfile.js có luôn là một quy trình thủ công không? Nếu vậy, tôi thấy một lợi ích của việc sử dụng Yeoman nơi một Gruntfile.js được tự động tạo ra (và điều này vẫn được áp dụng cho các dự án mà tôi sẽ tạo ra mà không thực sự webapps.
Micah

@micah, bạn có thể sử dụng công cụ grunt-init để tạo Gruntfile một cách dễ dàng. Tôi sẽ cập nhật bài đăng chính và thêm nó dưới dạng ghi chú.
Qorbani

@qorbani Sau đó, tôi bối rối. Trong một thư mục cho dự án không grunt này, tôi đã làm theo các bước từ 1 đến 4. Bây giờ tôi chỉ cần chạy npm install -g grunt-initvà nó đã cài đặt thành công. Tôi đã làm theo điều này với grunt init:gruntfilevà nó vẫn cho tôi cùng một lỗi nghiêm trọng. Tôi đang thiếu gì?
micah

grunt init: gruntfile không đúng. grunt-init là helper khác nhau cho mẫu dựa trên giàn giáo và bạn cần phải cài đặt template gruntfile để ba có thể tạo ra Gruntfile.js
Qorbani

8

Đôi khi chúng ta cần đặt biến PATH cho WINDOWS

% USERPROFILE% \ AppData \ Roaming \ npm

Sau bài kiểm tra đó với where grunt

Lưu ý: Đừng quên đóng cửa sổ nhắc lệnh và mở lại.


5

Tôi gặp vấn đề tương tự, nhưng tôi đã giải quyết nó bằng cách thay đổi Grunt.js của mình thành Gruntfile.js Kiểm tra tên tệp của bạn trước khi nhập grunt.cmd trên Windows cmd (nếu bạn đang sử dụng Windows).


2

Bạn nên cài đặt grunt-cli vào devDependencies của dự án và sau đó chạy nó qua một tập lệnh trong package.json của bạn. Bằng cách này, các nhà phát triển khác làm việc trên dự án sẽ sử dụng cùng một phiên bản grunt và không phải cài đặt toàn cầu như một phần của thiết lập.

Cài đặt grunt-cli với npm i -D grunt-clithay vì cài đặt nó trên toàn cầu với -g.

//package.json

...

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

Sau đó, sử dụng npm run buildđể chữa cháy.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.