【发布时间】:2012-12-04 23:41:11
【问题描述】:
我目前正面临关于 javascript 命名空间的争论,我需要社区意见。
场景: 负责这个项目的架构师不知何故致力于 RequireJS 并且真的很想使用它。
我必须说,该应用程序是一个后台,布局为一个向导,因此您需要在 6 个页面上来回切换,其中包含一些复杂的业务逻辑,最后填写一些我在这里可以描述为流程请求的内容.
好的,没有单页应用程序对这些问题没有任何兴趣。普通的后台 Web 应用程序,多页面,具有非常复杂的 UI,其中每个页面都向服务器请求,并且所有资源(css、javascript 等)都必须在页面加载时加载。
主要问题:了解我们正在谈论的应用类型,为什么首先需要 RequireJS?
第二个问题: 为什么要说服 javacript 中命名空间的最佳方法是使用 RequireJS?我错过了什么吗?
我的看法: 对我来说,这根本没有意义。 这里使用RequireJS很麻烦,因为没有按需加载资源,它们都是在页面加载时加载的(只是因为我们在页面加载时都需要它们)。 我们至少需要支持 IE8、Chrome、Firefox 和 Opera,而且我们已经在所有这些浏览器上加载资源时遇到了很多麻烦。已经有很多技巧可以确保通过 Require 加载所有内容。
对于命名空间,情况更糟。当然可以,但对我来说似乎很麻烦,而且在这件事上实际上非常有限。
所以我错过了什么吗? 我需要第三种(或第 100 种)意见。
- 您对此有何看法?
- 你用什么?
- 为什么?
提前致谢
【问题讨论】:
-
你在 C# 中使用 using 语句吗?这是一回事。
-
C#“使用”语句与用于 JavaScript 的 AMD 工具完全不同。
-
"Using" 将命名空间中包含的类型导入直接封闭的编译单元或命名空间主体。 "require" 将指定的模块导入到当前脚本/模块中。听起来和我很相似,但这只是我的看法
-
AMD 代表异步模块定义,它比 C# 中的所有“使用”的快捷方式和对象命名空间要多得多。
标签: javascript jquery requirejs javascript-namespaces