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