【问题标题】:grunt build not concatenating bower_componentsgrunt build 没有连接 bower_components
【发布时间】:2014-07-17 18:21:55
【问题描述】:

我正在使用yeoman webapp 搭建一个基本应用程序。我使用bower install --save 安装了几个库,这些库进入了 bower_components 文件夹。现在我运行grunt build,令我惊讶的是 dist 文件夹中的 index.html 文件引用了 js 文件的 bower_components 文件夹。我原以为构建过程会自动连接这些文件并将连接的脚本放在 dist 文件夹中,并使 index.html 文件引用这个连接的文件。我应该怎么做才能默认发生这种情况。

【问题讨论】:

  • 这很难说。给我看代码:)
  • @Artjom - 你想要 Gruntfile.js 吗?
  • 任何你认为的相关代码。

标签: gruntjs yeoman bower


【解决方案1】:

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

如果您有像我一样的错误,请尝试修复它或运行grunt build --force 以通过它。

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

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

并且您已正确配置您的 rev、useminPrepare 和 usemin 任务

小例子:

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'
]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 2013-09-18
    • 2015-05-19
    • 1970-01-01
    • 2017-01-04
    相关资源
    最近更新 更多