主meteor项目目录中的包和相同代码之间的性能差异
我已经完成了Discover Meteor应用程序,我有一个关于加载包的幕后性能的问题。更准确地说,本教程使用户首先在主meteor项目中创建错误处理功能,然后使用代码模块创建错误包 除了拥有一个包的明显优势之外,还有一个具体的原因,为什么我们应该创建一个包而不是在项目中简单地拥有一个包?在加载包的方式上有任何性能差异和优势吗?我应该知道有什么缺点吗主meteor项目目录中的包和相同代码之间的性能差异,meteor,meteorite,Meteor,Meteorite,我已经完成了Discover Meteor应用程序,我有一个关于加载包的幕后性能的问题。更准确地说,本教程使用户首先在主meteor项目中创建错误处理功能,然后使用代码模块创建错误包 除了拥有一个包的明显优势之外,还有一个具体的原因,为什么我们应该创建一个包而不是在项目中简单地拥有一个包?在加载包的方式上有任何性能差异和优势吗?我应该知道有什么缺点吗 我可以将问题归结为,与主项目文件夹中的相同代码相比,包是否具有更好的性能?创建包并不会从本质上给您带来性能优势-代码被缩小并插入到与应用程序其余部
我可以将问题归结为,与主项目文件夹中的相同代码相比,包是否具有更好的性能?创建包并不会从本质上给您带来性能优势-代码被缩小并插入到与应用程序其余部分相同的包中。主要优势是:
- 正如您所指出的,它使代码可重用。即使它只是一个工具,你仍然可以在你自己的项目之间使用它。或者,如果它是你可以与他人分享的东西,你可以将它发布在网站上,让社区的其他人受益
- 您可以更好地控制应用程序中依赖项和文件的加载顺序。社区中的一些成员将这一想法推向了极端,他们使用所见和所见的软件包构建了整个应用程序
- 你可以用
package.js
文件(它列出了依赖项、文件加载顺序等)的认知开销之外,我想不出还有什么明显的缺点。还要注意的是,1.0版的软件包系统正在开发中,因此请注意,在未来几个月内,某些方面将发生变化
在工作中,我们喜欢将独立的工具(如文本生成器和与我们的邮件提供商交互的lib)纳入包中,即使它们不能在应用程序中重用,因为:
- 它使我们的应用程序代码库更小
- 它将git历史记录分开
- 它有助于实施清晰的关注点分离
这可能不是一个详尽的列表,但它应该能让您了解包创建和使用背后的动机。谢谢您的回答,它非常具有解释性。我还看了你链接的本地包博客帖子。谢谢你提供的有用信息。