Примітка. Це запитання стосується лише Grunt 0.3.x і залишилось для ознайомлення. За допомогою останнього випуску Grunt 1.x дивіться мій коментар під цим питанням.
Зараз я намагаюся використовувати Grunt.js для налаштування автоматичного процесу збирання для спочатку об'єднання, а потім мінімізації файлів CSS та JavaScript.
Мені вдалося об'єднати та мінімізувати свої файли JavaScript, хоча кожен раз, коли я запускаю грунт, здається, що він просто додає файл, а не перезаписує їх.
Що стосується мінімізації або навіть об'єднання CSS, я поки що не міг цього зробити!
З точки зору рубаки модулів CSS Я спробував з допомогою consolidate-css, grunt-cssі , cssminале безрезультатно. Не вдалося розібратися, як ними користуватися!
Структура мого каталогу така (типова програма node.js):
- app.js
- grunt.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 продовжує додавати до об'єднаних та мінімізованих файлів javascript
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 Skeleton для отримання довідки щодо налаштування процесу збирання Grunt 1.x.
Перехід від Grunt 0.4.xдо Grunt 1.x не повинен вносити багато великих змін .
concatу ту самуjsпапку, що б її зірвати і додати! Я почав використовувати cssmin, і він чудово працює! Знову дякую.