咕噜声没有连接bower_components

时间:2014-05-28 13:33:36

标签: gruntjs yeoman bower

我使用yeoman webapp来构建基本应用程序。我使用bower install --save安装了几个进入bower_components文件夹的库。现在我运行grunt build,令我惊讶的是,dist文件夹中的index.html文件引用了js文件的bower_components文件夹。我曾期望构建过程自动连接这些文件,并将连接的脚本放在dist文件夹中,并使index.html文件引用此连接文件。我应该怎么做才能在默认情况下实现这一目标。

1 个答案:

答案 0 :(得分:0)

在我的某个项目中遇到同样的问题,由于文件定位器错误而导致警告停止了grunt构建,并且因为usemin任务是最后一个要运行的,所以我的脚本完全连接在一起缩小了,但我的html中的引用没有更新。

如果您有我的错误,请尝试修复它或运行grunt build --force传递它。

如果不是,请检查脚本是否被构建标记正确包围

<!-- build:js({.tmp,app}) scripts/vendor.js -->
...
<!-- endbuild -->

您已正确配置revuseminPrepareusemin任务

小例子:

rev: {
    dist: {
        files: {
            src: [
                '<%= yeoman.dist %>/public/scripts/{,*/}*.js',
                '<%= yeoman.dist %>/public/styles/{,*/}*.css'
            ]
        }
    }
},
useminPrepare: {
    html: '<%= yeoman.app %>/views/index.html',
    options: {
        dest: '<%= yeoman.dist %>/public'
    }
},
usemin: {
    html: '<%= yeoman.dist %>/views/{,*/}*.html',,
    css: ['<%= yeoman.dist %>/public/styles/{,*/}*.css'],
    options: {
        assetsDirs: ['<%= yeoman.dist %>/public']
    }
},

还要确保您的build任务引用它们:

grunt.registerTask('build', [
   'clean:dist',
   'bower-install',
   'useminPrepare',
   'concurrent:dist',
   'autoprefixer',
   'concat',
   'ngmin',
   'copy:dist',
   'cdnify',
   'cssmin',
   'uglify',
   'rev',
   'usemin'
]);