ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

30 秒用上 axios CDN:jsDelivr 与 unpkg 两种引入方式实战指南

30 秒用上 axios CDN:jsDelivr 与 unpkg 两种引入方式实战指南 30 秒用上 axios CDNjsDelivr 与 unpkg 两种引入方式实战指南【免费下载链接】axiosPromise based HTTP client for the browser and node.js项目地址: https://gitcode.com/GitHub_Trending/ax/axios页面要发几个 HTTP 请求又不想装 npm、配构建工具axios 是一个基于 Promise 的 HTTP 客户端一行 script 标签就能从 CDN 拉进网页。读完后你能直接在页面上调用 axios 发 GET 和 POST并配好版本锁定与安全加固。什么时候该选 CDN三个判断场景如果你在做一次性静态页比如活动页、落地页CDN 是首选省掉整套工程配置。如果你在快速做原型、验证想法CDN 是首选改完刷新浏览器就生效。如果你是内部工具、运维后台这类小项目CDN 是首选少维护一套依赖。反过来功能复杂、要跑单元测试的长期项目还是走 npm 安装。30 秒引入一行 script 标签加最小 GET 示例在 head 里写这一行script srchttps://cdn.jsdelivr.net/npm/axios1.6.7/dist/axios.min.js/script脚本执行完浏览器里多出一个全局对象 axios。再发一个请求试试axios.get(/api/users) .then(res console.log(res.data)) .catch(err console.error(err.message));不到 8 行代码打开页面就能跑。记住一点script 标签必须放在调用 axios 的代码之前。jsDelivr 与 unpkg 怎么选一张对比表两个平台做的事一样都按 npm 包内的原始文件路径分发URL 规则几乎相同切换时只改域名。维度jsDelivrunpkg节点覆盖全球多节点容量大全球节点规模相对小国内访问体验较稳定高峰时段可能偏慢附加能力提供 SRI 完整性哈希查询直接映射 npm 包文件路径选型一句话面向国内用户、求稳就选 jsDelivr没有特别偏好就固定一个并写进团队约定。把 GET 和 POST 请求写对GET 的查询参数放在 config 的 params 里响应体在 res.data// GET参数走 params axios.get(/api/orders, { params: { page: 1, size: 20 } }) .then(res { document.getElementById(list).textContent JSON.stringify(res.data); }) .catch(err console.error(err.message));POST 的第二个参数就是请求体普通对象会自动序列化成 JSON// POST第二参数即请求体 axios.post(/api/orders, { product: keyboard, qty: 2 }) .then(res { document.getElementById(result).textContent 创建成功ID res.data.id; }) .catch(err console.error(err.message));生产加固三件套锁定版本、SRI 校验、CDN 回退第一件锁定版本。axios 大版本升级后 API 可能变化别让页面跟着上游漂移!-- 错误裸地址版本随上游漂 -- script srchttps://cdn.jsdelivr.net/npm/axios/dist/axios.min.js/script !-- 正确钉住 1.6.7 -- script srchttps://cdn.jsdelivr.net/npm/axios1.6.7/dist/axios.min.js/script第二件SRI 校验。integrity 属性让浏览器核对脚本内容CDN 被劫持也改不动它。哈希值从官方渠道获取填错了浏览器会直接拒绝加载脚本上线前务必自己验证一遍!-- integrity 替换为官方提供的 sha256 哈希 -- script srchttps://cdn.jsdelivr.net/npm/axios1.6.7/dist/axios.min.js integritysha256-在此填入官方哈希值 crossoriginanonymous/script第三件CDN 回退。主源挂了自动切到 unpkgscript srchttps://cdn.jsdelivr.net/npm/axios1.6.7/dist/axios.min.js/script script if (typeof axios undefined) { document.write(script srchttps://unpkg.com/axios1.6.7/dist/axios.min.js\/script); } /script最容易踩的三个坑 ⚠️跨域、undefined、多版本坑一跨域CORS页面请求异源接口被浏览器拦下报 CORS 错误。 解决这是服务端的事让接口返回 Access-Control-Allow-Origin 响应头换 CDN 域名解决不了它。坑二axios is not defined页面提示找不到全局 axios。 解决多半是 CDN 脚本没加载成功网络故障或 SRI 哈希不匹配都会导致。先看控制台的红色报错再用上一节的回退方案兜底。坑三多版本混用同一个页面引了两个版本的 axios行为诡异、难以排查。 解决一个页面只保留一个 script 标签引一个版本升级时统一改版本号。下一步拦截器与官方文档想在请求发出前统一加 token、在响应回来后统一处理 401那是拦截器的活儿axios 的 request 和 response 拦截器各挂一个处理函数即可。更完整的 API 说明在仓库的官方文档里重点看 docs 目录下 advanced 分类的 interceptors 与 api-reference 两篇CDN 平台侧的细节参考 jsDelivr 与 unpkg 各自的站点文档。【免费下载链接】axiosPromise based HTTP client for the browser and node.js项目地址: https://gitcode.com/GitHub_Trending/ax/axios创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表