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