首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们需要在一开始就加载某些javascript文件

我们需要在一开始就加载某些javascript文件
EN

Stack Overflow用户
提问于 2014-03-04 07:48:30
回答 1查看 92关注 0票数 2

我们使用trackjs.com代码来帮助我们检测javascript错误。我们希望trackjs代码能够报告任何javascript代码中的所有错误。这需要首先加载trackjs代码。

我知道这违反了一般的流星加载顺序,但是我们不想隐藏任何javascript问题,无论错误在哪里。

我们尝试包含compatibility文件夹中包含的trackjs.com代码,并将其硬编码在<head>块中。这两种方法都会导致代码最后加载。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2014-03-04 08:11:26

摘自official documentation

子目录中的文件在父目录中的文件之前加载子目录中的文件,因此最先加载最深的子目录中的文件,最后加载根目录中的文件。

  • 在目录中,文件按字母顺序按order).
  • Finally,排序加载如上所述,名为lib的目录下的所有文件将先于其他所有内容移动(保留其order).
  • Finally,)所有与lib匹配的文件移动到其他所有内容之后(保留其顺序)。

因此,您应该将它们放在lib目录中。如果你把它放在server/lib中,它将只对服务器可用,或者在client/lib中只对客户端可用。但是如果您将它放在一个公共的lib文件夹中,那么它将对客户端和服务器都是可用的。

话虽如此,将这些代码放入自己的包中通常是一个更好的想法。如文档的relevant section中所述,包具有更好的加载顺序管理。

最后,您可能还想看看http://observatoryjs.com/,它的目标是实现与trackjs类似的解决方案,并且它具有本地meteor包,您可以从http://atmosphere.meteor.com搜索和添加这些包

更新:

这些解决方案将trackjs放在meteor的原生代码之后,放在你和其他任何第三方的代码之前。

为了能够在其他事情之前真正注入trackjs,可能有几种方法:

https://github.com/arunoda/meteor-fast-render/blob/master/lib/server/inject.js#L52是渲染包改变head内容以注入任意脚本的速度。你可以使用这个技术在一开始就注入trackjs。

你可以直接黑进https://github.com/meteor/meteor/blob/devel/packages/webapp/webapp_server.js,看看meteor是如何为应用程序服务的。这将再次成为客户端,并且容易发生meteor更新冲突。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22160016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档