หมายเหตุ: คำถามนี้เกี่ยวข้องกับ Grunt 0.3.x เท่านั้นและถูกทิ้งไว้ให้อ้างอิง สำหรับความช่วยเหลือเกี่ยวกับ Grunt 1.x รุ่นล่าสุดโปรดดูความคิดเห็นของฉันด้านล่างคำถามนี้
ฉันกำลังพยายามใช้ Grunt.js เพื่อตั้งค่ากระบวนการสร้างอัตโนมัติสำหรับการเชื่อมต่อครั้งแรกจากนั้นจึงลดขนาดไฟล์ CSS และ JavaScript
ฉันสามารถเชื่อมต่อและย่อขนาดไฟล์ JavaScript ของฉันได้สำเร็จแม้ว่าทุกครั้งที่ฉันเรียกใช้คำรามดูเหมือนว่าจะต่อท้ายไฟล์แทนที่จะเขียนทับ
สำหรับการย่อขนาดหรือแม้แต่การเชื่อมต่อ CSS ฉันยังไม่สามารถดำเนินการได้ในตอนนี้!
ในแง่ของโมดูล CSS แสมผมได้ลองใช้consolidate-css
, grunt-css
และcssmin
แต่จะไม่มีประโยชน์ ไม่สามารถเข้าใจวิธีการใช้งานได้!
โครงสร้างไดเร็กทอรีของฉันเป็นดังนี้ (เป็นแอ็พพลิเคชัน node.js ทั่วไป):
- app.js
- คำราม js
- /public/index.html
- / public / css / [ไฟล์ css ต่างๆ]
- / public / js / [ไฟล์ javascript ต่างๆ]
นี่คือลักษณะของไฟล์ grunt.js ของฉันในโฟลเดอร์รูทของแอปพลิเคชันของฉัน:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: '<json:package.json>',
concat: {
dist: {
src: 'public/js/*.js',
dest: 'public/js/concat.js'
}
},
min: {
dist: {
src: 'public/js/concat.js',
dest: 'public/js/concat.min.js'
}
},
jshint: {
options: {
curly: true,
eqeqeq: true,
immed: true,
latedef: true,
newcap: true,
noarg: true,
sub: true,
undef: true,
boss: true,
eqnull: true,
node: true
},
globals: {
exports: true,
module: false
}
},
uglify: {}
});
// Default task.
grunt.registerTask('default', 'concat min');
};
เพื่อสรุปว่าฉันต้องการความช่วยเหลือด้วยคำถามสองข้อ:
- วิธีการต่อและย่อขนาดไฟล์ css ทั้งหมดของฉันภายใต้โฟลเดอร์
/public/css/
ให้เป็นไฟล์เดียวพูดmain.min.css
- เหตุใด grunt.js จึงยังคงต่อท้ายกับไฟล์จาวาสคริปต์ที่ต่อและย่อขนาด
concat.js
และconcat.min.js
อยู่ภายใต้/public/js/
แทนที่จะเขียนทับไฟล์เหล่านี้ทุกครั้งที่grunt
เรียกใช้คำสั่ง
อัปเดตเมื่อวันที่ 5 กรกฎาคม 2016 - การอัปเกรดจาก Grunt 0.3.x เป็น Grunt 0.4.x หรือ 1.x
Grunt.js
ได้ย้ายไปยังโครงสร้างใหม่ในGrunt 0.4.x
(เรียกไฟล์นี้แล้วGruntfile.js
) โปรดดูโครงการที่มาของฉันเปิดGrunt.js โครงกระดูกGrunt 1.x
ความช่วยเหลือเกี่ยวกับการตั้งค่าการสร้างกระบวนการสำหรับ
การย้ายจากGrunt 0.4.x
ไปยังGrunt 1.x
ไม่ควรทำให้เกิดการเปลี่ยนแปลงที่สำคัญมากมาย
concat
ในjs
โฟลเดอร์เดียวกันกับที่มันจะตักขึ้นมาและต่อท้าย! ฉันได้เริ่มใช้ cssmin และใช้งานได้ดีมาก! ขอบคุณอีกครั้ง.