3

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

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

节点

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

AMD

  • 显然不能与其他工具配合使用是一个问题吗?(不是在这里抛泥巴,只是不太了解这个问题的来龙去脉)
  • AMD 在哪里运行——在网络浏览器中?如果是这样,这是否意味着我需要另一个工具来处理实际获取和管理第 3 方库、运行 jslint、运行测试和构建项目?
4

1 回答 1

4

这些项目不相关。

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

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

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

于 2013-01-23T17:49:15.370 回答