Примечание: этот вопрос актуален только для Grunt 0.3.x и оставлен для справки. Если вам нужна помощь с последним выпуском Grunt 1.x, пожалуйста, прочтите мой комментарий под этим вопросом.
В настоящее время я пытаюсь использовать Grunt.js для настройки процесса автоматической сборки для первого объединения, а затем уменьшения файлов CSS и JavaScript.
Мне удалось успешно объединить и минимизировать мои файлы JavaScript, хотя каждый раз, когда я запускаю grunt, кажется, что он просто добавляется в файл, а не перезаписывает их.
Что касается минимизации или даже объединения 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, и он отлично работает! Еще раз спасибо.