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

Gor*_*oro 5 javascript django jquery project-management frameworks

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

我们正在使用多个应用程序构建django应用程序.每个应用程序都有不同的功能,必须以三种不同的模式(PC,平板电脑,移动设备)呈现.JavaScript中发生了很多事情:管理从服务器接收的数据,处理用户事件,注入HTML片段以及加载子组件.一些功能在应用程序和视图模式之间共享,但通常编写特定功能是有意义的(例如,悬停和单击事件可能必须在PC布局与平板电脑布局上以不同方式处理)因此我们正在分组这在基于app/layout/function的文件中.

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

ui.common.js
ui.app1.pc.handlers.js
ui.app1.pc.domManupulators.js
ui.app1.tablet.js
ui.app2.pc.js 
...
Run Code Online (Sandbox Code Playgroud)

然而,现在,随着应用程序(和极端情况)的增长,这种方式正在迅速变得不可用(我们接近20多个文件,并且在我们完成时期望可能超过40个),所以我们将所有内容都放入这样的目录:

js/
  common/
    core1.js
    ajax2.js
  app1/
    tablet.js
    pc.js
  app2/
    mobile.js
    ...
Run Code Online (Sandbox Code Playgroud)

我一直在寻找JavaScriptMVC来帮助解决这个问题.虽然它确实提供了有用的工具,但似乎没有什么能够更好地管理我们的巨型JavaScript库.我们很快就会扩展开发团队,代码可维护性非常重要.

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

Tej*_*ejs 1

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