使用 grunt 和 wiredep 构建应用程序时更改库文件

Change library file while building app with grunt and wiredep

我有来自 yeoman-angular 生成器的 angular 申请。

我在 index.html 中有那个代码:

<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
...
<script src="bower_components/moment/moment.js"></script>
...
<!-- endbower -->
<!-- endbuild -->

然后在 Gruntfile 中:

wiredep: {
        app: {
            src: ['<%= yeoman.app %>/index.html'],
            ignorePath:  /\.\.\//
        }
}

问题是我的项目中不仅需要 moment/moment.js,还需要 min/moment-with-locales.js。当然,在index.html中手动更改它也无济于事。

也许有一些方法可以覆盖应该使用哪个库文件来构建?

解决方案似乎不在 Grunt 任务中,而是在 bower.json 中。 我必须添加:

"overrides": {
  "moment": {
    "main": "min/moment-with-locales.js"
  }
},

然后 grunt 将其添加到构建中,所以问题就解决了。