Я пытаюсь переместить внешние зависимости из системы управления версиями. Комбинация Bower.io и Grunt должна быть в состоянии сделать это.
Однако возникает проблема, которую я пока не могу решить, связав несколько библиотек поставщиков. Например, предположим, что у меня есть следующая структура каталогов, где каталог компонентов - это каталог, в котором Bower.io сохраняет зависимости в:
├── assets
└── components
├── bootstrap
│ ├── img
│ │ └── glyhs.gif
│ └── less
│ └── bootstrap.css
└── jquery-ui
├── css
│ └── style.css
└── images
├── next.gif
└── prev.gif
Теперь предположим, что я хочу связать jQuery style.css и Bootstrap bootstrap.css. Я сохраню этот связанный файл в assets/bundled.css.
Однако в этом файле ссылки на исходные изображения (../images/next.gif и.. /img/glyhs.gif) неверны. Они должны быть переписаны для работы (так../images/next.gif = > ../components/jquery-ui/images/next.gif). Я полагаю, что (d) это переписывание URL-адресов - это то, что должен сделать Грант. Но я не могу заставить это работать, используя задачи cssmin/less/copy. Например, следующая настройка Grunt (только перемещение 1 файла) не работает:
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
less: {
options: {
compile: false,
relativeUrls: true
},
bootstrap: {
src: 'components/bootstrap/less/bootstrap.less',
dest: 'assets/bootstrap.css'
}
}
});
grunt.loadNpmTasks('grunt-contrib-less');
grunt.registerTask('dist-css', ['less']);
};
Или:
-
Я неправильно сконфигурировал Grunt или сделал что-то не так?
-
Или рабочий процесс, который я описываю, просто не правильный, и я должен использовать другой.
Спасибо!