降解器(Demeteorizer)和 Meteor 打包(Meteor Bundle)有哪些主要区别?

3
通过使用 demeteorizer,我想知道设置 meteor 和通过 node 在自己的服务器上运行它之间的主要区别是什么?
meteor only:
1. 热交换代码? 2. 在维护与生产和开发类似的包时存在问题 3. 在 prod 和 dev 上运行相同的 meteor 版本 4. 硬编码环境设置(如 mongo)
demeteorizer:
1. 平台无关,因为它自动捆绑依赖项并使用纯 nodejs。 2. 按您喜欢的方式组织和维护 mongodb(备份脚本等)。
我一直在使用 demeteorizer(打包->上传->永久运行),但想知道长期运行中是否存在任何性能或问题。
我已经看到像“身份验证”这样的包在本地运行良好,但在测试服务器上非常缓慢(在提交时挂起,表明存在同步问题?)
提前致谢。
参考:https://twitter.com/SachaGreif/status/424908644590030848
1个回答

6

Demeteorizer在Meteor bundle的基础上进行了改进:Demeteorizer为您构建了一个package.json,并删除了node_modules目录。

如果没有Demeteorizer,您将会在部署应用程序时遇到一些麻烦,特别是当您的应用程序在与构建应用程序的平台不同的平台上运行时。

如果您查看Meteor自己的文档,您需要手动删除fibers并自行管理npm模块。使用package.json,您可以运行npm install,所有的npm模块都将为您安装,包括来自packages的模块。

这有什么用处呢?对于像modulus这样的服务,这意味着您可以上传一个应用程序,并让它为您安装所有依赖项,而无需考虑它,就像一个普通的node-js应用程序一样。

所有适用于meteor bundle的内容也适用于demeteorizer,因为它仍然是相同的meteor打包应用程序,只是有了package.json。所以您可以使用forever、硬编码/基于环境的设置等方式。


感谢Akshat的回复。我想知道Meteor的最新更新是否有任何变化。我似乎已经正常打包并上传了它。依赖项工作正常。也许我很幸运?我有一个部署脚本,检查纤维。 - mirageglobe
@JimmyMGLim 如果你在相同的架构上构建它,它就不会有任何问题。此外,“核心”Meteor包是为多架构构建的。问题出现在没有其他架构的第三方包上。 - Tarang

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