在大型项目中管理JavaScript复杂性

在大型项目中管理JavaScript复杂性,javascript,jquery,django,frameworks,project-management,Javascript,Jquery,Django,Frameworks,Project Management,我应该使用什么来管理我的应用程序中越来越多的JavaScript文件 我们正在用几个应用程序构建一个django应用程序。每个应用程序都有不同的功能,必须以三种不同的模式(pc、平板电脑、手机)呈现。JavaScript中发生了很多事情:管理从服务器接收的数据、处理用户事件、注入HTML片段以及加载子组件。一些功能在应用程序和查看模式之间共享,但通常编写特定的功能是有意义的(例如,在PC布局和平板电脑布局上可能必须以不同的方式处理悬停和单击事件),因此我们根据应用程序/布局/功能在文件中对其进行

我应该使用什么来管理我的应用程序中越来越多的JavaScript文件

我们正在用几个应用程序构建一个django应用程序。每个应用程序都有不同的功能,必须以三种不同的模式(pc、平板电脑、手机)呈现。JavaScript中发生了很多事情:管理从服务器接收的数据、处理用户事件、注入HTML片段以及加载子组件。一些功能在应用程序和查看模式之间共享,但通常编写特定的功能是有意义的(例如,在PC布局和平板电脑布局上可能必须以不同的方式处理悬停和单击事件),因此我们根据应用程序/布局/功能在文件中对其进行分组

在某种程度上,我们使用带有命名的平面文件结构来区分文件类型:

ui.common.js
ui.app1.pc.handlers.js
ui.app1.pc.domManupulators.js
ui.app1.tablet.js
ui.app2.pc.js 
...
然而,现在,随着应用程序(和角落案例)数量的增长,这种方式很快变得无法使用(我们正在接近20多个文件,预计到我们完成时可能有40多个),因此我们将所有内容都放在这样的目录中:

js/
  common/
    core1.js
    ajax2.js
  app1/
    tablet.js
    pc.js
  app2/
    mobile.js
    ...
我一直在寻求帮助。虽然它确实提供了有用的工具,但它似乎没有任何东西能够让管理我们庞大的JavaScript库变得更好。我们很快将扩展我们的开发团队,代码的可维护性非常重要


有什么东西可以让我们的生活更轻松吗?您在工作中是否有任何习惯/经验法则可以缓解这种情况?

通常,最好按公共性(如第二个示例)对库进行分组。但是,更重要的是要确保您具有名称空间或使它们唯一,这样您就不可能与其他潜在脚本发生命名冲突

用于以MVC样式模式组织大量使用javascript的应用程序。这需要一些学习,但这肯定是你想要研究和学习的东西,即使你最终没有使用它

它是用在汽车上的


还有,这里有一个提供教程的网站。

js/{app\u name}/{device\u type}布局有什么问题?它似乎模仿了django基于应用程序的设置,非常清晰和有组织。有什么方法不适合你吗?@dm03514:没什么问题,只是想知道是否有更好的方法。名称空间很重要,没有它们我们几乎无法管理代码。请参阅我关于名称空间的帖子: