【问题标题】:Performance difference between a package and the same code in the main meteor project directory一个包与meteor项目主目录中相同代码的性能差异
【发布时间】:2014-05-21 00:59:13
【问题描述】:

我已完成 Discover Meteor 应用程序,但我有一个与加载包的幕后性能相关的问题。更准确地说,本教程让用户首先在主流星项目中创建错误处理功能,然后使代码模块化创建一个错误包

除了拥有一个包的明显优势之外,是否有一个具体的原因应该创建一个包而不是简单地在项目中拥有相同的包?任何性能差异,加载包的方式有什么优势吗?我应该注意什么缺点?

我可以将问题归结为,与主项目文件夹中的相同代码相比,一个包是否具有更好的性能?

【问题讨论】:

    标签: meteor meteorite


    【解决方案1】:

    创建一个包并不会从本质上为您带来性能优势 - 代码会被缩小并与您的应用程序的其余部分一起插入到同一个包中。主要优点是:

    • 正如您所指出的,它使代码可重用。即使它只是一个local package,您仍然可以在您自己的项目之间使用它。或者,如果您可以与他人分享,您可以将其发布到atmosphere,让社区的其他人受益。

    • 您可以更好地控制应用程序中依赖项和文件的加载顺序。社区的一些成员将这一想法发挥到了极致,他们使用 herehere 所见的包构建了他们的整个应用程序。

    • 您可以使用tinytest

    除了编写和维护package.js 文件(它列出了依赖项、文件加载顺序等)的认知开销之外,我想不出任何明显的缺点。另请注意,1.0 版的软件包系统工作在 the roadmap 上,因此请注意,未来几个月某些方面会发生变化。

    在工作中,我们喜欢将独立工具(如文本生成器和与我们的邮件提供程序交互的库)分解到包中,即使它们不会在应用程序中重复使用,因为:

    • 它使我们的应用程序代码库更小。

    • 它将 git 历史记录分开。

    • 它有助于执行明确的关注点分离。

    这可能不是一个详尽的列表,但它应该让您了解包创建和使用背后的动机。

    【讨论】:

    • 谢谢你的回答,真的很解释。我还查看了您链接的本地软件包博客文章。感谢您提供有用的信息。
    猜你喜欢
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 2021-09-17
    • 2016-01-15
    • 1970-01-01
    相关资源
    最近更新 更多