我正在尝试理解如何使用Grunt、usemin 2、requirejs和uglify。在我的构建中,我观察到requirejs没有将我的依赖正确地包含到单个合并的构建文件中。当我从/dist运行index.html时,我看到了查找"jquery"、"app"和一些第三方js文件或有时是"define未定义"时出现的错误。
我阅读了关于grunt-usemin的以下问题,并删除了require块,但这些线程中仍然存在一些问题。
- 处理RequireJS、concat、uglify的推荐方式 - 如何处理v2.0中的requirejs
我在我的index.html中有以下内容:
我阅读了关于grunt-usemin的以下问题,并删除了require块,但这些线程中仍然存在一些问题。
- 处理RequireJS、concat、uglify的推荐方式 - 如何处理v2.0中的requirejs
我继续搜索并找到了这篇文章如何集成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
在第112个问题中有关于在此主题上使用Yeoman创建文章的讨论,但我认为它还没有被写出来。
是否有人找到了使用grunt和requirejs的usemin v2输出到单个concat+uglify文件的最佳方法?我也不确定在使用grunt-contrib-requirejs和grunt-requirejs时有什么区别以及何时使用哪一个。