添加 uri.js bower 组件破坏了我的 Grunfile.js,它死于认为 uri.js 目录是一个文件。怎么修?

Adding the uri.js bower component breaks my Grunfile.js, which dies thinking the uri.js directory is a file. How to fix?

Yeoman 生成 Gruntfile.js 在 grunt 构建期间死亡:

Running "rev:dist" (rev) task
dist/public/app/app.js >> b90d2f58.app.js
dist/public/app/vendor.js >> 2deb5480.vendor.js
Warning: Unable to read "dist/public/bower_components/uri.js" file (Error code: EISDIR). Used --force, continuing.

很明显是把uri.js组件目录解释成一个文件!一个简单的修复方法是将 uri.js 组件重命名为 uri_js 或类似名称。但不是那样做,是否有一个简单的开关可以添加到实用程序中,使哈希知道 'uri.js' 不是文件???我已经尝试将 "filter: 'isFile'" 添加到 Gruntfile 中以 *.js 作为模式的每个地方,但无济于事。

任何已经看过此内容的人,感谢您的帮助。现在我只是在做 grunt build --force。谢谢

我终于发现可以从重命名过程中排除此 bower_component。关键是 rev 片段中文件的顺序取决于选择的顺序。所以我修改了我的 Gruntfile.js 的这一部分......一切都很好。

// Renames files for browser caching purposes
rev: {
  dist: {
    files: {
      src: [
        '<%= yeoman.dist %>/public/{,*/}*.js',
        '<%= yeoman.dist %>/public/{,*/}*.css',
        '<%= yeoman.dist %>/public/assets/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
        '<%= yeoman.dist %>/public/assets/fonts/*',
        '!<%= yeoman.dist %>/public/bower_components/uri.js'
      ]
    }
  }

关键的添加是最后一块:

        '!<%= yeoman.dist %>/public/bower_components/uri.js'

我希望这可以帮助其他人解决这个问题!