我正在使用自定义样式设置Bootstrap主题,方法是使用官方documentation中所述的源SASS文件的本地副本,并将它们导入到custom.scss文件中。

我主要愿意自定义外观,而不是功能;因此,例如:颜色,版式和所谓的“ Sass options”。

在这种情况下,通过使用CDN(而不是从本地提供)将Bootstrap的JS部分(我特别指的是bootstrap.bundle.min.js)导入项目中是否有任何弊端或可能出现的问题?

编辑:请注意,我不是在问从CDN加载资源与从本地加载资源有何不同,我只是在问是否从CDN加载Boostrap的一部分以及从本地加载一部分Boostrap会导致问题或意外行为。



这可能是一个愚蠢的问题,我有把握地确定自己可以做到这一点而不会引起任何问题,但是我希望得到比我更专业的人的一些反馈。

最佳答案

如果可以,您应该自己托管JS。

由于引导程序在其示例“如何使用”代码中使用完整性参数,因此,如果CDN遭到破坏,则不必担心跨站点脚本攻击(除非您将它们留在代码中)。文件将不会被加载。
但是,这仍然不是您想要的东西:如果他们的CDN受到攻击或他们的服务器崩溃了,您将无法再加载JS,并且您的应用程序的某些部分可能变得不可用。

但是,您可以首先尝试从CDN提供服务,如果无法实现,请为用户提供本地版本。这样,您可以利用缓存并在引导服务器停机时进行保存。以下是摘录自freecodecamp的一小段内容:

<script>
  if (! $.fn.modal) {
    document.write('<script src="YOUR JS LOCATION"></script>');
  }
</script>


您应该将其放在包含引导CDN的行下面。

该代码仅检查引导程序中的功能是否可用,如果不从本地服务器中加载该功能。

关于javascript - 仅将CDN用于Bootstrap JS部件有任何弊端吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54669699/

10-12 07:34
查看更多