【问题标题】:What are node.js and the AMD API used for? [closed]node.js 和 AMD API 有什么用? [关闭]
【发布时间】:2013-01-07 07:03:02
【问题描述】:

我对 JavaScript 有一些经验,但对 JavaScript 项目管理和工具却一无所知。我正在考虑使用 node 和 AMD,但不确定它们的用途,并且在阅读文档时遇到了麻烦。

以下是我坚持的一些具体要点:

Node

  • 我的印象是它是为服务器端 JavaScript 设计的。它还可以为客户端项目进行构建吗?
  • 如果它可以构建,它是否可以将项目(+ 依赖项)构建到单个文件中以进行客户端部署?
  • 其构建过程能否集成 jslint 和 grunt 等工具?

AMD

  • apparently doesn't play nice with other tools 有问题吗? (不是在这里抛泥,只是不太了解这个问题的来龙去脉)
  • AMD 在哪里运行——在网络浏览器中?如果是这样,这是否意味着我需要另一个工具来处理实际获取和管理 3rd 方库、运行 jslint、运行测试和构建项目?

【问题讨论】:

  • 这是一个Shark vs Gorilla 问题,直到有一个关于其中一个的非常具体的问题,它需要保持关闭。此外,该问题还表明 OP 完全缺乏对这两种技术的理解。也让它不是一个真正的问题! X 与 Y 的任何事情都是题外话,因为它是在征求意见和辩论。
  • @JarrodRoberson 这不是鲨鱼与大猩猩的问题;对不起,如果看起来是这样。我不知道那个节点不是关于构建的——这就是我问这个问题的原因。
  • @JarrodRoberson the question shows a complete lack of comprehension of both technologies by the OP 这是真的——这就是问题所在。
  • 这个问题现在似乎已经足够集中,可以回答了。只需澄清 OP 的观点。

标签: javascript node.js build dependency-management amd


【解决方案1】:

这些项目不相关。

node.js 是一个 JavaScript 解释器,就像一个 Web 浏览器。它是一种服务器技术,不能在客户端上运行。具体来说,它是一组将 IO 支持添加到文件或网络的包装库,以便您可以从磁盘读取或响应 TCP(以及因此 TCP/IP aka HTTP(S) 或 FTP)请求。否则,它只是像您在浏览器中编写的 javascript。您可以使用它从命令行运行脚本或构建 Web 服务器。

它可以用于从命令行“构建”项目,因为它可以像 shell 环境中的脚本语言一样使用(它甚至可以响应 #! 命令路由)。

AMD 是一个管理 JavaScript 项目依赖项的工具。您可以使用它动态甚至异步加载依赖项(因此得名)。 AMD 将在浏览器和 node.js 中工作(但 node.js 已经包含动态加载 JavaScript 的技术,因此它不会真正有用)。

【讨论】:

    猜你喜欢
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 2012-07-12
    • 2013-03-10
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    相关资源
    最近更新 更多