组织大型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进行依赖关系管理