首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预加载cdn缓存文件

预加载cdn缓存文件
EN

Stack Overflow用户
提问于 2019-09-19 03:56:20
回答 1查看 1.1K关注 0票数 2

我有一个缓存在某些cdn中的文件。

在我的本地环境中,您可以将浏览器中的标记读取为

代码语言:javascript
复制
<script src="/js/cool.js"></script>

但一旦投入生产,它就像:

代码语言:javascript
复制
<script src="/js/cool.js.pagespeed.ce.l2D9mD1nmX.js"></script>

.pagespeed.ce.l2D9mD1nmX.js意味着它正在被缓存

现在,我想知道是否应该预加载已经在cdn中缓存的文件?

因为我在做

代码语言:javascript
复制
<link rel="preload" type="application/javascript" href="/js/cool.js" as="script">

在我的<head>中,这将给我一个警告:

资源(预加载文件)是使用链接预加载预加载的,但在从窗口加载事件开始的几秒钟内没有使用。请确保它有一个适当的as值,并且它是有意预加载的。

因为从技术上讲,/js/cool.js不再存在于dom中。

EN

回答 1

Stack Overflow用户

发布于 2019-09-19 06:33:43

在模块绑定器中使用预加载插件。

Q.预加载已经在cdn?中缓存的文件是可取的还是一种做法?

答:是的,假设你的cool.js确实需要预加载。

现在,这一警告实际上是预期的。参见,cool.js.pagespeed.ce.l2D9mD1nmX.jscool.js是服务器上的两个不同的文件。您的文件cool.js.pagespeed.ce.l2D9mD1nmX.js实际上是模块-邦德勒为特定原因生成的code.js的克隆。您要做的是预装cool.js,其代码从未在生产中执行,因此警告--使用链接预加载的...preloaded,但在窗口的load事件之后的几秒钟内没有使用。但是,您实际上需要做的是预加载cool.js.pagespeed.ce.l2D9mD1nmX.js。假设您使用webpack作为模块绑定器,您需要一个名为预加载-webpack插件的插件来实现相同的功能。

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

https://stackoverflow.com/questions/58003510

复制
相关文章

相似问题

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