如何将libs包含在项目中? 你使用后备吗?
现在我用我自己的(我认为现在是最好的变种)后备
function onErrorLoader(obj, link){
if(obj.tagName != "SCRIPT")
obj.href = link;
else
obj.src = link;
}
我像这样使用它
首先我在我的html中包含我的错误处理程序
<script src="js/onErrorLoader.js"></script>
在此旁边,我可以像这样调用我的libs
CSS
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" onerror="onErrorLoader(this, 'vendor/bootstrap/dist/css/bootstrap.css')">
JS
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" onerror="onErrorLoader(this, 'vendor/bootstrap/dist/js/bootstrap.js')"></script>
您如何看待这个? 你可以提出什么建议让它变得更好,或者你知道更好的方法来做到这一点
所有这些只是为了防止 CDN 没有回复
例如:我使用的是我自己的 CDN 中的脚本,但由于某些原因我的 CDN 没有回复
答案 0 :(得分:1)
我从未见过这样做过。我相信这是因为没有必要。我从未见过我的样式或脚本只是没有加载的场景。甚至当我可能已经在头部加载了12个脚本时。浏览器不会忘记加载资产。
大多数现代工作流程都有预处理和连接,然后它们提供2或3个文件。人们使用任务运行器和构建工具,如grunt,gulp,brunch,broccoli,codekit等。
我的建议是让浏览器加载文件而不用担心,或者如果你真的想要发生某些事情/查找“承诺”