我正在尝试使用 Grunt、usemin 2、requirejs 和 uglify 来解决问题。我在构建中观察到的是 requirejs 没有正确地将我的依赖项包含到我的单个连接构建文件中。当我从 /dist 运行 index.html 时,我在查找“jquery”、“app”和一些第三方 js 文件时看到错误,或者有时“未定义定义”。
我在 grunt-usemin 上阅读了以下问题并删除了 require 块,但这些线程中仍然存在一些问题。
我继续搜索并看到这篇文章如何集成 Yeoman 和 Requirejs,这让我到了那里,因为当我从使用 grunt-contrib-requirejs 更改为 grunt-requirejs 时,我看到 Requirejs 优化器正在运行。不幸的是,我仍然看到这些错误:
Uncaught ReferenceError: define is not defined.
我的 index.html 中有以下内容:
<!-- build:js js/main.js -->
<script src="bower_components/requirejs/require.js"></script>
<script src="js/main.js"></script>
<!-- endbuild -->
这是我的 Grunt 文件:http: //jsbin.com/futocusu/3/edit ?js
在 issue #112 中有关于创建一篇关于在这个主题上使用 Yeoman 的文章,但我认为它还没有写完。
有没有人想出将 usemin v2 与 grunt 和 requirejs 一起使用以在构建时输出到单个 concat+uglify 文件的最佳方法?我也不确定使用 grunt-contrib-requirejs 和 grunt-requirejs 有什么区别以及何时使用哪一个。