Как объединить и минимизировать несколько файлов CSS и JavaScript с помощью Grunt.js (0.3.x)
Примечание. Этот вопрос относится только к Grunt 0.3.x и оставлен для справки. Для получения справки о последней версии Grunt 1.x, пожалуйста, смотрите мой комментарий под этим вопросом.
В настоящее время я пытаюсь использовать Grunt.js для настройки процесса автоматической сборки для первой конкатенации, а затем минимизации файлов CSS и JavaScript.
Мне удалось успешно объединить и минимизировать мои файлы JavaScript, хотя каждый раз, когда я запускаю grunt, кажется, что он просто добавляется к файлу, а не перезаписывает их.
Что касается минимизации или даже конкатенации CSS, я пока не могу этого сделать!
С точки зрения ворчливых модулей CSS, которые я пытался использоватьconsolidate-css
, grunt-css
& cssmin
но безрезультатно. Не могу понять, как их использовать!
Моя структура каталогов выглядит следующим образом (являясь типичным приложением node.js):
app.jsgrunt.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 продолжает добавлять к объединенным и уменьшенным файлам javascriptconcat.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
не следует вводить много серьезных изменений.