如何将网站的 JS 替换成本地内容

背景

最近在做 type chanllenge 9616 - Parse URL Params 的时候总是发现其引入的三方包报错:

ts 复制代码
import type { Equal, Expect } from '@type-challenges/utils'

Cannot find module '@type-challenges/utils' or its corresponding type declarations.(2307)

最后发现是通过 cdn.jsdelivr.net 引入的 dts,但是某些情况该 cdn 访问不了,但是我们知道国内有速度特别快的替代即 cdn.jsdmirror.com

我们如何将其修改成这个速度更快的 cdn 呢?

将其 host 修改成可以访问的 cdn 对应的 host?不行浏览器会因为安全策略拦截。

Tampermonkey 行不?倒是可以通过拦截 fetch 函数做 path 重写倒也是可以,但是比较麻烦。

要是我们能直接修改源代码就好了。

override content

找到源文件 apis.js 后右键点击"override content",随便选择一个文件夹。 然后直接浏览器修改 js 文件,ctr + s 后刷新页面,即可看到我们的文件被替换成相应的 cdn 地址了。

注意修改 js 文件而非 ts

总结

无需三方工具我们直接利用浏览器的能力就能完成源码的替换,可以做的事情就很多了,大家可以自行试试。

相关推荐
Am1nnn1 分钟前
【Pinia】Pinia和Vuex对比
前端·javascript·vue.js
可爱小仙子5 分钟前
ios苹果系统,js 滑动屏幕、锚定无效
前端·javascript·ios
大得3698 分钟前
react菜单,动态绑定点击事件,菜单分离出去单独的js文件,Ant框架
前端·javascript·react.js
古夕16 分钟前
Promise A+ 规范解读
前端·javascript
古夕16 分钟前
Promise 基础概念与实践详解
前端·javascript
我想说一句21 分钟前
React组件化开发实战:从"待办事项"看前端乐高搭建术
前端·javascript·react.js
古夕22 分钟前
Promise 解决过程(Promise Resolution Procedure)详解
前端·javascript
梨子同志24 分钟前
ES6~ES13 新特性
前端·javascript
BUG收容所所长1 小时前
二分查找的「左右为难」:如何优雅地找到数组中元素的首尾位置
前端·javascript·算法
梨子同志1 小时前
手动实现 JavaScript 的 call、apply 和 bind 方法
前端·javascript