我正在使用自定义样式引导Bootstrap,使用官方documentation中描述的源SASS文件的本地副本,并将其导入custom.scss
文件。
我主要是愿意定制外观,而不是功能;所以,例如:颜色,排版和所谓的“Sass options”。
在这种情况下,使用CDN而不是从本地提供CDN,在我的项目中导入Bootstrap的JS部分(我特别指的是bootstrap.bundle.min.js
)有任何缺点或可能存在的问题吗?
编辑:请注意,我不是问如何从CDN加载资源与从本地加载资源不同,我只是询问是否从CDN加载Boostrap的一部分而从本地加载另一部分可能导致问题或意外行为。
这可能是一个愚蠢的问题,我有理由相信我可以做到这一点而不会产生任何问题,但我想得到一些比我更专业的人的反馈。
如果可以的话,你应该自己主持JS。
由于bootstrap在其示例“如何使用”代码中使用完整性参数,因此如果他们的CDN遭到破坏,您实际上不必担心跨站点脚本攻击(除非您将其留在代码中)。将无法加载文件。然而,这仍然不是你想要的:如果他们的CDN遭到入侵或他们的服务器崩溃,你将无法再加载JS,部分应用程序可能无法使用。
但是,您可以首先尝试从cdn提供服务,如果不可能,则为用户提供本地版本。这样,您可以利用缓存并在引导服务器停机时保存。这是一个摘自freecodecamp的小摘录:
<script>
if (! $.fn.modal) {
document.write('<script src="YOUR JS LOCATION"></script>');
}
</script>
您应该将它放在包含引导程序CDN的行下面。
代码只是检查来自bootstrap的函数是否可用,如果没有从本地服务器加载它。