Node.js和AMD API分别用于什么?

3

我对JavaScript有一些经验,但完全没有JavaScript项目管理和工具方面的经验。我想使用node和AMD,但不确定它们用于什么,而且在文档中也遇到了麻烦。

以下是我卡住的一些具体问题:

Node

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

AMD

  • 它似乎与其他工具不兼容,这是一个问题吗?(我不是想诋毁它,只是不太明白这个问题的背景)
  • AMD在哪里运行--在Web浏览器中吗?如果是这样,那么我需要另一个工具来处理实际获取和管理第三方库、运行jslint、运行测试和构建项目吗?

1
这是一个“鲨鱼 vs 大猩猩”问题,除非有关于其中一个的非常具体的问题,否则它需要保持关闭状态。此外,该问题显示出提问者对两种技术的完全不理解,因此也不是一个真正的问题!任何关于 X vs Y 的内容都是离题的,因为它要求意见和辩论。 - user177800
@JarrodRoberson 这不是关于鲨鱼和大猩猩的问题;如果看起来像是这样,我很抱歉。我不知道那个节点不是关于构建的,这就是为什么我问这个问题的原因。 - Matt Fenwick
2
@JarrodRoberson:“这个问题显示出提问者对两种技术都完全不理解”,这是正确的——因此才有了这个问题。 - Matt Fenwick
1
问题现在似乎足够聚焦,可以回答了。只需澄清原帖中的观点即可。 - Robert Harvey
1个回答

4

这些项目之间没有关联。

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接