我正在研究一个网站,虽然网站的数据量不是很大,但却有足够的JavaScript让我觉得它会从requirejs中受益。我们打破页面(和功能)的模块化方式似乎也支持这一点。requirejs - 在非SPA网站中的使用
尽管在单页应用程序中使用requirejs有很多示例,但在非SPA网站上看不到很多示例。
例如,我正在使用jQuery UI选项卡,我希望在每个页面上运行这些选项卡。所以我想运行一些像$('.tabs').tabs();
你可以把它放在你的main.js/app.js
(或你指定的data-main
)吗?
第二个问题。该页面使用HTML/CSS模块构建。网站后面的CMS知道哪些HTML/CSS模块在页面上,因此我可以动态编写requirejs配置,以便知道要初始化哪些JavaScript模块。这是一种常用的方法吗?虽然我实际上可能包含所有JavaScript文件,但我很想优化main.js
中的代码,以确保它只执行正在页面上使用的模块的代码。有没有人做过这个?
非常感谢,
詹姆斯。
你可能想看看http://requirejs.org/docs/api.html #modulenotes。你会发现你可以把你的JavaScript放到需要其他模块/模块部分的模块中。这被称为AMD(http://requirejs.org/docs/whyamd.html#sugar)。这样你就不必在全球基础上要求你的脚本。你只是让你的模块需要他们的需求。 – mayrs 2013-03-08 16:16:42