我正在开发一个网站,虽然不是很大,却有足够的JavaScript让我觉得它会受益于requirejs。我们打破页面(和功能)的模块化方式似乎也支持这一点。
虽然有很多在单页面应用程序中使用requirejs的例子,但我看不到很多在非SPA网站上使用的例子。
例如,我正在使用jQuery UI选项卡,我想在每个页面上运行它。所以我想要运行类似$('.tabs').tabs();
的内容你是否只是将它放在main.js/app.js
(或你为data-main
指定的任何内容)中?
第二个问题。该页面使用HTML / CSS模块构建。站点后面的CMS知道页面上有哪些HTML / CSS模块,因此我可以动态编写requirejs配置,以便我知道要初始化哪些JavaScript模块。这是一种常见的方法吗?虽然我实际上可能包含所有JavaScript文件,但我热衷于优化main.js
中的代码,以确保它只执行页面上使用的模块的代码。有没有人这样做过?
非常感谢,
詹姆斯。
答案 0 :(得分:0)
您的要求的解决方案是不同的,
main.js应该具有将在需求上调用的函数(不同的需求 - 不同的函数)
这将确保只运行所需的代码。
或者,如果您可以定义动态JS>>这将在每个新的函数调用上重新创建。由CMS,它复杂但可能。就像基于浏览器类型和版本检查调用的动态css一样。
-
在所有文件中调用js文件
如果您使用的是PHP或APS或.NET(您可以使用一些头文件或主文件。一次调用“js”文件,否则必须手动将js文件链接添加到每个文件中以防静态文件,或
你可以使用我们已在所有文件中使用的其他JS文件来调用JS文件。
更新:尝试使用此JS代码在需要时动态添加JS file
,而不是在每个页面上添加..
$("head").append('<script type="text/javascript" src="global.js"></script>');
这将在调用的页面上动态添加脚本文件。因此,在使用的JS中或在script
标记下的页面上添加此行;并提供所需文件的路径,即src="global.js"
我希望这有帮助,如果有任何问题,请回复:)