组织大型javascript文件
我已经开始为网站积累相当多的Javascript代码。 到目前为止,所有内容都在一个文件中,并且该文件变得无法维护。 如果一行中有错误,则整个文件会中断。
我已经尝试将代码拆分为多个文件,但是有一些共享方法,如: validateEmail(address)
。
现在,我将我的代码组织成对象,如下所示:
var ProductPage = { addToCartBtn: "#add-to-cart", init: function() { ProductPage.initAddToCartPopup(); ProductPage.initSidebar(); ... }, ... };
然后,我在$(document).ready
上调用ProductPage.init()
。
我的问题是:当将ProductPage
拆分为单独的文件作为ContactPage
,例如我无法访问ContactPage.validateEmail()
。 我相信这是因为我的代码包含在jQuery中:
(function ($) { ... })(jQuery);
有没有人了解他们如何组织大型Javascript系统? 此外,我计划进行优化,将所有这些放入一个文件并压缩它。 因此,任何有利于可维护性和易于优化的方法都将是非常棒的。
在我看来, validateEmail
类似的方法是有用的 。 按function我的意思是, y = f(x)
。 这些函数不会更改状态,而是返回 在传递的输入上计算的输出 。
您可能希望将所有此实用程序function方法保留在单独的模块中,并将其标记为全局命名空间 。 确保在使用之前加载这些(这些) 实用程序模块 。
您可以使用require.js进行依赖关系管理 。