Замените пути компонентов bower в <! - bower: js -> на пути, сгенерированные bower-task (libs/*/*)
У меня проблема с grunt, usemin и bower-task при замене путей компонентов bower в выходном html-файле.
У меня есть в моем HTML:
<!--bower:js-->
<script src="bower/jquery/dist/jquery.js"></script>
<script src="bower/angular/angular.js"></script>
<script src="bower/angular-route/angular-route.js"></script>
<script src="bower/angular-cookies/angular-cookies.js"></script>
<script src="bower/angular-ui-notification/dist/angular-ui-notification.js"></script>
<script src="bower/angular-animate/angular-animate.js"></script>
<script src="bower/ngstorage/ngStorage.js"></script>
<script src="bower/angular-sanitize/angular-sanitize.js"></script>
<script src="bower/checklist-model/checklist-model.js"></script>
<script src="bower/underscore/underscore-min.js"></script>
<script src="bower/nanoscroller/bin/javascripts/jquery.nanoscroller.js"></script>
<!-- endbower -->
и мой хрюканский файл:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
bower: {
options:{
targetDir:'production/libs',
install:true
},
install: {
}
},
useminPrepare: {
html: 'index.html',
options: {
dest: 'production'
}
},
usemin:{
html:['production/index.html']
},
copy:{
html: {
src: './index.html', dest: 'production/index.html'
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-usemin');
grunt.loadNpmTasks('grunt-bower-task');
grunt.registerTask('default', [
'bower:install', 'useminPrepare', 'concat', 'uglify', 'cssmin',
'copy:html', 'usemin'
]);
};
когда я запускаю grunt, он выводит это:
<!--bower:js-->
<script src="bower/jquery/dist/jquery.js"></script>
<script src="bower/angular/angular.js"></script>
<script src="bower/angular-route/angular-route.js"></script>
<script src="bower/angular-cookies/angular-cookies.js"></script>
<script src="bower/angular-ui-notification/dist/angular-ui-notification.js"></script>
<script src="bower/angular-animate/angular-animate.js"></script>
<script src="bower/ngstorage/ngStorage.js"></script>
<script src="bower/angular-sanitize/angular-sanitize.js"></script>
<script src="bower/checklist-model/checklist-model.js"></script>
<script src="bower/underscore/underscore-min.js"></script>
<script src="bower/nanoscroller/bin/javascripts/jquery.nanoscroller.js"></script>
<!-- endbower -->
Но из того, что я понимаю, он должен заменить первые пути на соответствующие в библиотеках, генерируемых bower-task, что-то вроде этого:
<!--bower:js-->
<script src="libs/jquery/jquery.js"></script>
<script src="libs/angular/angular.js"></script>
<script src="libs/angular-route/angular-route.js"></script>
<script src="libs/angular-cookies/angular-cookies.js"></script>
<script src="libs/angular-ui-notification/angular-ui-notification.js"></script>
<script src="libs/angular-animate/angular-animate.js"></script>
<script src="libs/ngstorage/ngStorage.js"></script>
<script src="libs/angular-sanitize/angular-sanitize.js"></script>
<script src="libs/checklist-model/checklist-model.js"></script>
<script src="libs/underscore/underscore.js"></script>
<script src="libs/nanoscroller/jquery.nanoscroller.js"></script>
<!-- endbower -->
Мне интересно, я что-то не понимаю или что-то не так делаю. Я прошел через много предыдущих вопросов, и ни один из них не помог