网站首页 > 技术文章 正文
75CDN 是一个由奇舞团维护的静态资源托管平台,创立至今已经稳定运行了两年多的时间。近期我们增加了 ES Module 的支持,成为国内首个拥抱 ES Module 服务的静态资源库。
ES Module 是 ES6 中提出的规范,用于让 JavaScript 实现 import 导入模块的功能。其又细分为静态 import 和动态 import 两个特性,目前浏览器的支持情况如下:
注: 数据来源于 CanIUse
开启 ESM
由于目前不是所有的库都支持 ES Module 形式引入,75CDN目前是针对.mjs,esm.js 和 esm.browser.js 结尾的模块开启了 ES Module 的显示。对于符合要求的文件,我们会将“复制 <script> 标签”功能升级为“复制 import 路径”,如下图所示:
点击“复制 import 路径”按钮即可获得 import 导入的 JS 代码,例如:
import chimeePlayer from "//lib.baomitu.com/chimee-player/1.4.6/chimee-player.esm.js"
当然如果你确定当前库是支持 ES Module 引入的,却没有显示“复制 import 路径”,也可以自行拼接格式,或者直接向我们反馈,确认无误后我们会立刻增加相关的支持。
ESM 的使用
对于使用了 ES Module 的 JS 入口文件,在 HTML 中需要使用 <script type="module"> 来引入。同时对于不支持的情况可以使用 <script nomodule>来进行降级处理。由于在支持 ES Module 模块导入的时候不会执行该脚本,而不支持的情况会对 type 值非 text/javascript 的引入忽略,从而达到了平滑兼容的效果。下面是个简单的例子:
// index.html <div id="wrapper"></div> <script type="module" src="main.mjs"></script> <script nomodule src="main.bundle.js"></script> // main.mjs import chimeePlayer from "//lib.baomitu.com/chimee-player/1.4.6/chimee-player.esm.js" new chimeePlayer({ src: 'http://cdn.toxicjohann.com/lostStar.mp4', wrapper: '#wrapper', autoplay: true, })
注意细节
- 模块内可以使用 import.meta 获取当前模块的加载路径
- 目前 import 路径仅支持本地路径(相对路径和绝对路径)和URL形式
- 同一模块多次引入只会执行一次
- 引用资源需要支持 CORS 跨域头
后记
75CDN 已经两周年了,除了给大家带来了 ES Module 等 Web 新特性之外,我们还会为大家带来更稳定的服务以及更多使用的功能,请大家多多支持!
希望本文能帮助到您!
点赞+转发,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓-_-)
关注 {我},享受文章首发体验!
每周重点攻克一个前端技术难点。更多精彩前端内容私信 我 回复“教程”!
原文链接:https://75team.com/post/75cdn-es-module
作者:公子
- 上一篇: 开源库的免费CDN 开源的cdn网络方案
- 下一篇: 高防CDN神乎其技?它是如何防御DDoS攻击的
猜你喜欢
- 2025-06-18 快速云:网站抗DDOS攻击能力如何测试,可以通过哪些平台?
- 2025-06-18 是时候使用iframe延迟加载来提升LCP!
- 2025-06-18 架构师:如何设计一个秒杀系统?(秒杀系统架构图)
- 2025-06-18 SSE前端(sse前端调用)
- 2025-06-18 负载均衡实战:从入门到精通,掌握高并发系统的核心秘籍
- 2025-06-18 加速进化:网宿正式推出可编程CDN-边缘脚本
- 2025-06-18 如何在 1 秒内加载网站(要实现加载某个网页时弹出一个消息框)
- 2025-06-18 前端开发者也需要了解Redis吗?聊聊API缓存与用户体验
- 2024-10-04 前端开发:探索前沿,追逐未来 前端开发前沿技术
- 2024-10-04 高防CDN神乎其技?它是如何防御DDoS攻击的
你 发表评论:
欢迎- 532℃Oracle分析函数之Lag和Lead()使用
- 531℃几个Oracle空值处理函数 oracle处理null值的函数
- 529℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 519℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 514℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 504℃【数据统计分析】详解Oracle分组函数之CUBE
- 484℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 483℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端排序 (47)
- 前端密码加密 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)