我对JavaScript有一些经验,但对JavaScript项目管理和工具没有任何经验。 我正在考虑使用node和AMD,但不确定它们的用途,并且在浏览文档时遇到问题。
以下是我坚持的一些具体观点:
节点
- 我的印象是它是为服务器端JavaScript准备的。 它还可以为客户端项目进行构建吗?
- 如果它可以执行生成,它是否可以将项目(+依赖项)构建到单个文件中以进行客户端部署?
- 它的构建过程可以集成JSLINT和Grunt等工具吗?
阿德
- 它显然不能与其他工具很好地配合使用是一个问题吗? (不是想在这里吊泥巴,只是不太了解这个问题的上下文)
- AMD 在哪里运行 -- 在网络浏览器中? 如果是这样,这是否意味着我需要另一个工具来实际获取和管理第 3 方库、运行 jslint、运行测试和构建项目?
这些项目不相关。
node.js 是一个 JavaScript 解释器,就像一个 Web 浏览器一样。这是一种服务器技术,不能在客户端上运行。具体来说,它是一组包装库,为文件或网络添加 IO 支持,以便您可以从磁盘读取或响应 TCP(因此也称为 TCP/IP 又名 HTTP(S) 或 FTP)请求。否则,它只是像你在浏览器中编写的javascript一样。您可以使用它从命令行运行脚本或构建 Web 服务器。
它可以用来从命令行"构建"项目,因为它可以在shell环境中像脚本语言一样使用(它甚至响应#!命令路由)。
AMD 是管理 JavaScript 项目依赖关系的工具。您可以使用它动态甚至异步加载依赖项(因此得名)。AMD将在浏览器和node中工作.js(但node.js已经包含动态加载JavaScript的技术,因此它不会真正有用)。