我正在使用以下设置构建一个包含许多 js(jquery)模块(文件)的应用程序;
- 使用Grunt任务运行程序运行构建。
- 我使用车把模板,然后从*.hbs文件生成 html。
- 在构建过程中,我将所有 js 文件uglify成一个缩小文件。
- 我在我的应用程序中调用缩小文件
<script src="assets/js/app.min.js"></script>
现在,我想使用requirejs来组织我的代码并遵守 AMD 规范。
但是我用这种方法遇到了 3 个问题:
- 我需要为所有 js 提供 1 个单一的缩小文件;这使我的代码更难“解码”从而复制(因为它与其他依赖项混合在一起;jquery、modernizer ..),并且如果单独调用脚本,还有助于避免额外的 http 请求。但是,requirejs需要一个主文件来初始化该应用程序和该主文件内部它调用其他必需的文件..我没有这样的配置。
- 我使用的许多依赖项都在 bower 包中(我不包含在分发包中);这使得无法使用建议的requirejs 方法调用这些文件。
- 我正在使用 jquery 和一些不调用 define(); 的 3rd 方插件;为了让它们工作,我必须使用shim 配置,这再次引发了问题 #2!
那么我应该如何利用 requirejs,同时将我的代码保存在模块中并且组织良好?
很抱歉这个问题很长,感谢阅读:)
ps:请随意更改问题的标题,因为我找不到更好的!