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

标签 javascript jquery django frameworks project-management

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

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

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

ui.common.js
ui.app1.pc.handlers.js
ui.app1.pc.domManupulators.js
ui.app1.tablet.js
ui.app2.pc.js 
...

但是现在,随着应用程序(和边 Angular 案例)的数量以这种方式增长,很快变得不可用(我们正在处理 20 多个文件,预计到完成时可能会超过 40 个),所以我们将所有内容放在目录中,如下所示:

js/
  common/
    core1.js
    ajax2.js
  app1/
    tablet.js
    pc.js
  app2/
    mobile.js
    ...

我一直在看JavaScriptMVC帮助解决这个问题。虽然它确实提供了有用的工具,但它似乎没有任何东西可以专门用来更好地管理我们庞大的 JavaScript 库。我们即将扩大我们的开发团队,代码的可维护性非常重要。

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

最佳答案

Backbone.js用于以 MVC 样式模式组织 javascript 繁重的应用程序。这需要一些学习,但绝对是您想要研究和了解的东西,即使您最终没有使用它也是如此。

它用于 quite a few pretty impressive projects

还有一个网站 learn more有教程。

关于javascript - 管理大型项目中的 JavaScript 复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8916337/

相关文章:

javascript - 有没有办法在 Highcharts 中显示同一系列的重叠点?

javascript - 使用 typescript 在 react 中传播 Prop

javascript - "..."和 '...' 之间有解释差异吗?

Django 和 UDP 服务器

python - Django 模块未找到错误

django - 如何在不使用输入标签本身的情况下使用 CSS 插入 <input type ="text"placeholder ="writer">?

javascript - select2 显示第一个选项而不是占位符

javascript - 将 HTML 值分配给 JavaScript 变量

javascript - 函数调用延迟

javascript - jquery插件公共(public)函数