วิธีติดตั้งคำรามและวิธีสร้างสคริปต์ด้วย


86

สวัสดีฉันกำลังพยายามติดตั้ง Grunt บน Windows 7 64 บิต ฉันได้ติดตั้ง Grunt โดยใช้คำสั่ง

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

แต่ตอนนี้ถ้าฉันพยายามจะทำให้grunt initฉันเกิดข้อผิดพลาด -

ไม่พบ Gruntfile ที่ถูกต้อง โปรดดูคู่มือการเริ่มต้นใช้งานสำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีกำหนดค่า grunt: http://gruntjs.com/getting-started Fatal error: ไม่พบ Gruntfile

แต่เมื่อฉันดูภายในโฟลเดอร์ฮึดฮัดในระบบของฉันGruntfile.jsก็มี ใครช่วยแนะนำวิธีการติดตั้งคำรามนี้อย่างถูกต้องและวิธีการเขียนสคริปต์ที่สร้างขึ้นโดยใช้คำสั่ง ฉันมีหน้า HTML หนึ่งหน้าและสคริปต์ java หากฉันต้องการสร้างสคริปต์โดยใช้ Grunt ฉันจะทำอย่างไร


1
npm install -g gruntหมายถึงการติดตั้ง Grunt ทั่วโลกซึ่งไม่แนะนำอีกต่อไป (เริ่มต้นด้วย Grunt 0.4)
Ludder

คำตอบ:


229

ในการตั้งค่า GruntJS build นี่คือขั้นตอน:

  1. ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าpackage.jsonหรือตั้งค่าใหม่:

    npm init
    
  2. ติดตั้ง Grunt CLI แบบโกลบอล:

    npm install -g grunt-cli
    
  3. ติดตั้ง Grunt ในโครงการในพื้นที่ของคุณ:

    npm install grunt --save-dev
    
  4. ติดตั้งโมดูล Grunt ที่คุณอาจต้องการในกระบวนการสร้างของคุณ เพื่อประโยชน์ของตัวอย่างนี้ฉันจะเพิ่มโมดูล Concat สำหรับการรวมไฟล์เข้าด้วยกัน:

    npm install grunt-contrib-concat --save-dev
    
  5. ตอนนี้คุณต้องตั้งค่าGruntfile.jsซึ่งจะอธิบายกระบวนการสร้างของคุณ สำหรับตัวอย่างนี้ผมแค่รวมสองไฟล์ JS file1.jsและfile2.jsในjsโฟลเดอร์และสร้าง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. ตอนนี้คุณพร้อมที่จะเรียกใช้กระบวนการสร้างของคุณโดยทำตามคำสั่ง:

    grunt
    

ฉันหวังว่านี่จะช่วยให้คุณทราบถึงวิธีการทำงานกับ GruntJS build

บันทึก:

คุณสามารถใช้grunt-initสำหรับการสร้างGruntfile.jsหากคุณต้องการสร้างโดยใช้วิซาร์ดแทนการเข้ารหัสดิบสำหรับขั้นตอนที่ 5

โดยทำตามขั้นตอนต่อไปนี้:

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

สำหรับผู้ใช้ Windows: หากคุณใช้ cmd.exe คุณต้องเปลี่ยน~/.grunt-init/gruntfileเป็น%USERPROFILE%\.grunt-init\ไฟล์. PowerShell จะจดจำไฟล์~.


นั่นคือสิ่งที่ฉันมองหาขอบคุณ นอกจากนี้จำเป็นหรือไม่ที่ควรวาง gruntfile.js ในโฟลเดอร์รูทโปรเจ็กต์ (ไม่สามารถใช้งานได้บน windows)
chester89

1
ขั้นตอนที่ 5 สามารถตั้งค่าโดยทั่วไปได้grunt init:gruntfileหรือไม่? ฉันได้ลองทำสิ่งนี้แล้ว แต่มักจะได้รับข้อผิดพลาด: Fatal error: Unable to find Gruntfile. การสร้าง Gruntfile.js เป็นกระบวนการแบบแมนนวลหรือไม่? ถ้าเป็นเช่นนั้นฉันเห็นประโยชน์ของการใช้ Yeoman ที่ Gruntfile.js ถูกสร้างขึ้นโดยอัตโนมัติ (และยังคงใช้กับโปรเจ็กต์ที่ฉันจะสร้างซึ่งไม่ใช่เว็บแอพจริงๆ
micah

@micah คุณสามารถใช้เครื่องมือ grunt-init เพื่อสร้าง Gruntfile ได้อย่างง่ายดาย ฉันจะอัปเดตโพสต์หลักและเพิ่มเป็นบันทึก
Qorbani

@qorbani แล้วฉันสับสน ในไดเร็กทอรีสำหรับโปรเจ็กต์ที่ไม่น่ากลัวนี้ฉันได้ทำตามขั้นตอนที่ 1-4 แล้ว ตอนนี้ฉันเพิ่งวิ่งnpm install -g grunt-initและติดตั้งสำเร็จ ฉันทำตามสิ่งนี้grunt init:gruntfileและยังคงให้ข้อผิดพลาดร้ายแรงเหมือนเดิม ฉันขาดอะไรไป?
micah

grunt init: gruntfile ไม่ถูกต้อง grunt-init เป็นตัวช่วยที่แตกต่างกันสำหรับนั่งร้านที่ใช้เทมเพลตและคุณต้องติดตั้งเทมเพลต gruntfile เพื่อให้สามารถสร้าง Gruntfile.js ได้
Qorbani

8

บางครั้งเราต้องตั้งค่าตัวแปร PATH สำหรับ WINDOWS

% USERPROFILE% \ AppData \ Roaming \ npm

หลังจากนั้นทดสอบด้วย where grunt

หมายเหตุ: อย่าลืมปิดหน้าต่างพรอมต์คำสั่งแล้วเปิดใหม่


5

ฉันพบปัญหาเดียวกัน แต่ฉันแก้ไขได้ด้วยการเปลี่ยน Grunt.js ของฉันเป็น Gruntfile.js ตรวจสอบชื่อไฟล์ของคุณก่อนพิมพ์ grunt.cmd บน windows cmd (หากคุณใช้ windows)


2

คุณควรติดตั้ง grunt-cli เข้ากับ devDependencies ของโปรเจ็กต์จากนั้นเรียกใช้ผ่านสคริปต์ใน package.json ของคุณ วิธีนี้นักพัฒนาคนอื่น ๆ ที่ทำงานในโครงการจะใช้เวอร์ชันเดียวกันและไม่ต้องติดตั้งทั่วโลกเป็นส่วนหนึ่งของการตั้งค่า

ติดตั้ง grunt-cli npm i -D grunt-cliแทนการติดตั้งทั่วโลกด้วย-g.

//package.json

...

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

จากนั้นใช้npm run buildในการดับเสียงฮึดฮัด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.