javascript - 当我的 View / Controller 需要位于同一个文件中时,构建 js 应用程序的最佳方法是什么

标签 javascript model-view-controller scorm

我正在构建一个学习应用程序,其中有许多不同的页面类型可供学习者浏览并进行事件。它将是一个符合 SCORM 的学习对象。

这是我到目前为止的结构......

application/
  models/
    scorm.js
    sequence.js
    session.js

  pagetypes/
    multichoice.js
    truefalse.js
    basic.js

  utilities/
    jquery.js
    api.js

我的页面类型负责查看和控制,我应该将它们分开吗?我将它们组合起来的原因是,当我构建新的页面类型时,我只需将其放入该文件夹中,代码就会立即识别它。

大家觉得怎么样?氨基甙?

最佳答案

我猜您正在根据页面交互的类型来分离方法。

我看不出有什么理由不按照你的方式去做。只要 sco 需要的所有内容都在 list 中,您就可以根据需要分割脚本。分离出单独的页面类型可能会节省一点加载时间...但前提是您只将需要的内容加载到 HTML 页面中,并且您实际上是在 sco session 中导航页面。如果您将所有脚本加载到单个 HTML 页面中,然后动态更改页面 div 的内容,那么您的脚本将全部加载 1 次,并且您可能会为所有页面类型脚本拥有 1 个缩小文件。

我可能会选择后者,并将交互与标记中的类或 id 联系起来。 1 个文件,缩小工作量更少,并且我可以在其他包中使用,而不必确保我拥有我需要的每种页面类型...

关于javascript - 当我的 View / Controller 需要位于同一个文件中时,构建 js 应用程序的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6798471/

相关文章:

javascript - React Webpack 开发服务器 main.js 未找到

php - 没有正则表达式的 BBCode 解析器?

c# Forms - MVC 框架?

java - 如何组织游戏代码以适应 MVC 模式?

cmis - cmi5 规范中的可分配单元是什么?

javascript - Angular Kendo 调度器过滤器

javascript - Angular.js : How do I initialize the ng-model of a <select> element to be the ng-selected option's value?

php - 在php中创建一个前置过滤器方法

php - 什么是 CMIString4096 以及如何提取其中的数据?