我刚开始冒险前端,很可能是网页设计。我一直在努力回答一个技术问题,但我找不到合理的答案。
您可以加载很多库,下载以使您的网站更快地开发。因此有我的问题。 下载这些库(例如Boostrap,jQuery,Angular,Google的字体等)以及从官方来源链接到它们(外部)或下载它,上传到您的服务器然后链接到位置文件(内部源代码)是否更好? )在你的服务器上?
我的想象力告诉我,如果我要下载它们并在我的服务器上上传,那么链接到它会使整个网站加载更快。这是一个好主意吗?
答案 0 :(得分:0)
如果从外部源链接,有时可能会更快。那是因为浏览器存储了它访问的最新数据,许多站点都使用Bootstrap,jQuery等。对于不那么受欢迎的图书馆来说,它可能不会经常发生。
但请记住,由于您是从外部资源下载的,因此您将受到服务器的限制。如果由于某种原因它离线,您的页面将无法正常工作。由于这个原因,CDN不应该脱机,但是要注意这一点很好。此外,当您离线并在您的页面上工作时,您将无法在开发过程中进行连接。
答案 1 :(得分:0)
Pro托管和链接到外部资源(可能是JS库,图像或其他):
<强>缺点强>
答案 2 :(得分:0)
如果您正在开发一些更安全的应用程序,那么在本地下载这些文件总是更好,这样您就不必依赖托管CDN的任何第三方服务器。
使用CDN谈论性能可能是有益的,因为您需要的库可能会缓存在浏览器中,因此可以节省获取文件的时间。但是如果文件在本地可用,加载这些文件肯定会花费时间和空间。
答案 3 :(得分:0)
我同意Rafael在上面的回答,但是想要注意一下他们在本地提供这些图书馆的一些好处。
通过将多个文件连接到一个文件中来尝试最小化网站下载量,仍然被认为是最佳做法(直到HTTP2变得普遍)。所以 - 如果你使用三个Javascript库/框架(例如,Angular,jQuery和Moment.js),如果你使用CDN是三个单独的脚本元素,下拉三个单独的.js文件。但是,如果您在本地托管它们,则可以让构建过程包括将三个库捆绑在一起的一个步骤,该文件名为&#34; vendor.js&#34;或类似的规定。这在某种程度上简化了依赖性加载有额外的好处,因为如果需要,可以按特定顺序连接它们。
最后,虽然如果您刚开始使用它有点先进,但如果您考虑使用您的项目托管您的库文件,那么绝对值得研究bower(https://bower.io/docs/api/) - 它是一个节点构建工具,允许您定义需要包含在项目中的包,然后使用单个命令安装它们 - 对于将不必要的库文件保留在版本控制之外特别有用。祝你好运!