Lưu ý: Câu hỏi này chỉ liên quan đến Grunt 0.3.x và đã được để lại để tham khảo. Để được trợ giúp với bản phát hành Grunt 1.x mới nhất, vui lòng xem bình luận của tôi bên dưới câu hỏi này.
Tôi hiện đang cố gắng sử dụng Grunt.js để thiết lập quy trình xây dựng tự động để nối đầu tiên và sau đó rút gọn các tệp CSS và JavaScript.
Tôi đã có thể nối và rút gọn các tệp JavaScript của mình thành công, mặc dù mỗi lần tôi chạy, nó dường như chỉ thêm vào tệp thay vì ghi đè chúng.
Đối với CSS thu nhỏ hoặc thậm chí nối, tôi vẫn chưa thể làm điều này!
Trong điều kiện của module CSS grunt Tôi đã cố gắng sử dụng consolidate-css
, grunt-css
và cssmin
nhưng vô ích. Tôi không thể hiểu được cách sử dụng chúng!
Cấu trúc thư mục của tôi như sau (là một ứng dụng node.js điển hình):
- app.js
- grunt.js
- /public/index.html
- / public / css / [các tệp css khác nhau]
- / public / js / [các tệp javascript khác nhau]
Đây là tệp grunt.js của tôi hiện trông như thế nào trong thư mục gốc của ứng dụng của tôi:
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');
};
Vì vậy, chỉ để tóm tắt, tôi cần trợ giúp với hai câu hỏi:
- Cách nối và rút gọn tất cả các tệp css của tôi trong thư mục
/public/css/
thành một tệp, giả sửmain.min.css
- Tại sao grunt.js tiếp tục thêm vào các tệp javascript được nối và rút gọn
concat.js
vàconcat.min.js
bên dưới/public/js/
thay vì ghi đè chúng mỗi khigrunt
chạy lệnh ?
Cập nhật ngày 5 tháng 7 năm 2016 - Nâng cấp từ Grunt 0.3.x lên Grunt 0.4.x hoặc 1.x
Grunt.js
đã chuyển sang cấu trúc mới trong Grunt 0.4.x
(tệp hiện được gọi Gruntfile.js
). Vui lòng xem dự án mã nguồn mở Grunt.js Skeleton của tôi để được trợ giúp thiết lập quy trình xây dựng Grunt 1.x
.
Chuyển từ Grunt 0.4.x
sang Grunt 1.x
không nên đưa ra nhiều thay đổi lớn .
concat
vào cùng mộtjs
thư mục thì nó sẽ lấy nó ra và thêm nó vào! Tôi đã bắt đầu sử dụng cssmin và nó hoạt động rất tốt! Cảm ơn một lần nữa.