这取决于开发人员是否对您“热链接”到 JS 库感到满意。
关于您发布的具体网址,
https://raw.github.com/Caligatio/jsSHA/master/src/sha1.js
我会小心引用那个。它是其源代码的主分支,它们可能随时包含重大更改。他们甚至可能决定移动和重组他们的代码库,在这种情况下,您的应用程序将中断,因为上面的 URL 将导致 404。
更好的解决方案确实是引用库的特定版本。这可确保您的应用程序以预期和已知的方式运行,并将继续运行,就 jsSHA 库而言。
有几种方法可以做到这一点。您可以引用明确指定版本的特定固定 URL
http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/hmac-sha1.js
因为它被标记为 (3.0.2),所以你更安全一些,但你仍然引用源代码控制。如果存在 CDN,这确实应该通过 CDN 完成。我不相信 googlecode.com URL 是 CDN URL(我可能是错的)。使用适当的 CDN 或外部链接来引用 JS 库当然是一种常见的做法,您可以在 JQuery 页面上看到这样的示例,但这通常是作为页面性能增强的一部分。CDN 针对用户的地理位置进行了优化,因此可以更快地提供对 CDN(与主服务器相反)上任何内容的引用。它具有用户体验优势。如果页面加载时间对您的用户群很重要,这很有用。
另一种选择,也是最安全的方法是,将 JS 库的副本保存在您自己的源代码管理中,并使用您自己的基础设施引用它。它与您同在,它是一个固定版本,如果发生某些变化(例如重组、站点关闭等),也不会让人感到意外。