【发布时间】:2015-10-22 18:37:05
【问题描述】:
既然 Meteor 是纯 JavaScript,为什么它不使用 CommonJS 模块或 NPM 包,而是引入了它自己的一个叫做 Atmosphere 的东西?
【问题讨论】:
既然 Meteor 是纯 JavaScript,为什么它不使用 CommonJS 模块或 NPM 包,而是引入了它自己的一个叫做 Atmosphere 的东西?
【问题讨论】:
虽然确实流星是纯 JavaScript (JS),但大量的 JS 是为在流星框架中运行而定制开发的,所以它是有意义的(对于流星开发团队)拥有一个为特定于流星的 JS 库提供目录(和 API)的网站。
在开发流星应用时使用npm 完全没问题,但是大气中的 JS 库周围有一个特定于流星的生态系统,这使开发人员更容易找到特定于流星的 JS 库。
为特定的开发环境/目的创建打包系统是很常见的,不仅出于技术原因,而且(有时主要是)出于社会原因。
例如,jar 文件实际上是 tar 文件,但具有不同的后缀(和“类型”)有助于 Java 应用程序和开发人员识别自己的打包格式。同样,Debian .deb 文件是专门针对 Debian Linux 的软件包,而 Centos/Redhat 使用 RPM 作为一种打包格式——尽管内容实际上是相同的。
因此,出于技术原因,Atmosphere 是一个用于编目和提供特定于流星的 JS 库和应用程序的网站,也是一种提高对流星生态系统认知度的营销工具。
【讨论】:
还有一个 Meteor 包,也许还有其他几个包,它允许您将 npm 包添加到该 Meteor 包中,并且您可以在您的 Meteor 应用程序中使用它。
https://github.com/meteorhacks/npm
在 npm 上也找到了这个。基本上是一样的,看起来: https://www.npmjs.com/package/meteor-npm
【讨论】: