Примітка. Це запитання стосується лише 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, і він чудово працює! Знову дякую.