Atmosphere 与 npm
从头开始构建一个应用程序是一项艰巨的任务。这是您可能首先考虑使用 Meteor 的主要原因之一——您可以专注于编写特定于您的应用程序的代码,而不是重新发明诸如用户登录和数据同步之类的轮子。为了进一步简化您的工作流程,使用来自 npm 和 Atmosphere 的社区包是有意义的。本指南中推荐了许多这些包,您可以在在线目录中找到更多包。
随着 1.3 版本的发布,Meteor 完全支持 npm。将来,所有包都将迁移到 npm,但目前这两个系统都各有优势。
何时使用 Atmosphere 包
Atmosphere 包是专门为 Meteor 编写的包,与 Meteor 一起使用时,与 npm 相比具有多个优势。特别是,Atmosphere 包可以
- 依赖核心 Meteor 包,例如
ddp
和blaze
- 显式包含非 JavaScript 文件,包括 CSS、Less、Sass、Stylus 和静态资源
- 利用 Meteor 的 构建系统 自动从 CoffeeScript 等语言进行转译
- 具有明确定义的方式来为客户端和服务器交付不同的代码,从而在每个上下文中实现不同的行为
- 直接访问 Meteor 的 包命名空间 和包全局导出,而无需显式使用 ES2015
import
- 使用 Meteor 的 约束解析器 强制执行包之间精确的版本依赖关系
- 包含 Meteor 构建系统的 构建插件
- 包含针对不同服务器架构(例如 Linux 或 Windows)的预构建二进制代码
如果您的包依赖于 Atmosphere 包(在 Meteor 1.3 中,包括 Meteor 核心包),或者需要利用 Meteor 的 构建系统,那么编写 Atmosphere 包可能是目前最佳选择。
何时使用 npm 包
npm 是一个通用的 JavaScript 包存储库。这些包最初仅用于 Node.js 服务器端环境,但随着 JavaScript 生态系统的发展,出现了解决方案,使 npm 包能够在其他环境(如浏览器)中使用。如今,npm 用于所有类型的 JavaScript 包。
如果您想分发和重用为 Meteor 应用程序编写的代码,那么如果该代码足够通用,可以被更广泛的 JavaScript 受众使用,则应考虑将其发布到 npm 上。可以 在 Meteor 应用程序中使用 npm 包,并且可以 在 Atmosphere 包中使用 npm 包,因此即使您的主要受众是 Meteor 开发人员,npm 也可能是最佳选择。
Meteor 自带捆绑的 npm,因此您可以键入
meteor npm
而无需担心自行安装它。如果您愿意,也可以使用全局安装的 npm 来管理您的包。