首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否将jQuery +自定义脚本与异步结合?

是否将jQuery +自定义脚本与异步结合?
EN

Stack Overflow用户
提问于 2015-07-10 04:02:41
回答 2查看 561关注 0票数 1

当我们希望加快一个网站的初始加载速度时,我们将所有的javascript放在一个合并的文件中,现在相当大--大约90 of。所有的分析工具都在说“您应该切换到异步,以避免JavaScript块呈现您的网页”。

这就是我们今天在结束身体标记之前得到的

代码语言:javascript
运行
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="/js/script.js"></script>

我们的脚本依赖于jQuery。所以,我的问题是,是否最好有一个接近200 go的脚本,即jQuery与我们的脚本连接,这样我们就可以知道jQuery在我们自己的脚本之前加载,并且让它异步加载,还是有其他方法可以这样做,而不涉及太多的第三方解决方案,比如headjs、reactjs等等。

输入代码,这是

代码语言:javascript
运行
复制
<script src="/js/combined.js" async></script>

比这更好

代码语言:javascript
运行
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="/js/script.js" async></script>

如果我们保持jQuery同步,并将脚本异步化,这对我们有帮助吗?或者,在我们无法确定jQuery在我们之前加载的意义上,这是否很危险?

或者,作为一个非解决方案,我们只是不关心这一点,而专注于其他方面

任何见解都将不胜感激。

EN

Stack Overflow用户

发布于 2015-07-10 04:14:50

更好的方法是使用脚本加载器,例如RequireJS或Head.JS。

代码语言:javascript
运行
复制
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/headjs/1.0.3/head.min.js"></script>

<script type="text/javascript">
  head.js(
    "//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js",
    "/js/script.js",

    function() {
      startMyCode();
    }
  );
</script>

RequireJS的功能更强大一些,因为它不按顺序执行脚本,而是按依赖关系执行,但要求您将代码组织在模块中(相对于Head.JS,您可以不用对代码进行任何修改)。

编辑:实际上,考虑到Head.JS似乎不再被维护,也许最好使用$script.js。为了澄清--这些事情是为您的代码管理异步加载,然后确保在加载所有位时(或者像Head.JS那样按顺序执行,或者以某种基于依赖关系图的方式)执行它。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31332227

复制
相关文章

相似问题

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