我在使用requirejs和usemin时遇到了以下问题:
我想设置一个多页面应用程序,在其中动态加载仅包含特定页面功能的模块(例如about -> about.js,home -> home.js)。我可以继续打包所有内容到单个文件中,但这只会导致文件大小变大,并且会增加不必要的功能开销! (例如,为什么我需要在没有旋转木马的页面上加载旋转木马插件!)
我查看了示例https://github.com/requirejs/example-multipage-shim 这实际上是一种很好的处理方法,直到我将usemin引入游戏。在更改文件名后,每个脚本标记的src路径都会更新,但依赖关系呢?
我想设置一个多页面应用程序,在其中动态加载仅包含特定页面功能的模块(例如about -> about.js,home -> home.js)。我可以继续打包所有内容到单个文件中,但这只会导致文件大小变大,并且会增加不必要的功能开销! (例如,为什么我需要在没有旋转木马的页面上加载旋转木马插件!)
我查看了示例https://github.com/requirejs/example-multipage-shim 这实际上是一种很好的处理方法,直到我将usemin引入游戏。在更改文件名后,每个脚本标记的src路径都会更新,但依赖关系呢?
<script src="scripts/vendor/1cdhj2.require.js"></script>
<script type="text/javascript">
require(['scripts/common'], function (common) {
require(['app'], function(App) {
App.initialize();
});
});
</script>
在这种情况下,require.js被版本化文件1cdhj2.require.js替换了。太好了!
但是所需的模块"common"和"app"不再起作用,因为common变成了4jsh3b.common.js,而app变成了23jda3.app.js!
我该怎么办?谢谢你的帮助!(顺便说一句,我也在使用Yeoman)
r.js
会为你压缩依赖关系,那你为什么还需要使用 usemin 呢? - ddotsenko