涛之雨 发表于 2023-1-6 22:31

油猴脚本本地调试

[ 本帖最后由 涛之雨 于 2023-1-6 23:20 编辑 ]\n\n[ 本帖最后由 涛之雨 于 2023-1-6 22:33 编辑 ]\n\n根据 (https://github.com/the1812/Bilibili-Evolved) 的[开发文档](https://github.com/the1812/Bilibili-Evolved/blob/master/CONTRIBUTING.md),一共分三步

1. 赋予油猴/脚本猫/whatever 本地文件读取权限
2. 配置油猴脚本
    > 比如我的
   
   ```js
   // ==UserScript==
   // @name         看着填
   // @version      123
   // @AuThor      涛之雨
   // @license      MIT
   // @match      *://*.github.com/*
   // @match      *://github.com/*
   // @run-at       document-start
   // @grant      unsafeWindow
   // @connect      *
   // @require      https://unpkg.com/sweetalert2/dist/sweetalert2.min.js
   // @Icon         http://github.com/favicon.ico
   // @require      file://C:/Users/taozhiyu/Documents/GitHub/inject/bundle.js
   //               ^这是我的脚本文件位置
   // ==/UserScript==
   ```
3. 开始撸码

然后就可以搞骚操作了,比如ts就可以run起来了(与vue啊vite啊react之类的框架不一样,我只搞了ts。。。)

打包我一开始是用的glup,后来感觉没必要。。。最终直接写成`bash`脚本丢到`package.json`里。。。

反正就是`browserify`打包,
`browserify-shim`排除cdn导入的依赖,
`tsify`组件解析`typescript`语法
最后`uglify-js`去压缩(可能没必要?反正greasyfork不允许来着)

所以,最终我的`package.json`中修改为:
```json
{
...
"scripts": {
    "watch": "watchify main.ts -t [ browserify-shim ] -p [ tsify --noImplicitAny ] -o bundle.js --debug --verbose",
    "build": "browserify main.ts -t [ browserify-shim ] -p [ tsify --noImplicitAny ] > bundle.js",
    "dest": "browserify main.ts -t [ browserify-shim ] -p [ tsify --noImplicitAny ] | uglifyjs -cm > bundle.min.js"
},
"browserify-shim": {
    "sweetalert2": "global:Swal"<-我用的是sweetalert2,映射到window.Swal
}
}
```

可以参考[这里](https://stackoverflow.com/questions/23125338/how-do-i-use-browserify-with-external-dependencies),每个依赖的github都写的比较清楚。。。
使用`watch`脚本开发,文件保存之后自动打包生成`bundle.js`文件,刷新页面即可运行(当然要想继续折腾,可以添加热更新。。。但是感觉没必要=_=)

最终效果(部分):



(没错,因为有sourcemap,所以可以方便调试。。。)



写了这么多,其实很简单。。。

正己 发表于 2023-1-6 22:42

刀不锋利马太瘦,没有实力,你别跟我涛斗

涛之雨 发表于 2023-1-7 10:43

wushengli 发表于 2023-1-7 10:41
表示不懂,要有个成品就好了。

鸡都给你了,蛋还要我下吗?

李恒道 发表于 2023-1-6 22:31

刀不锋利马太瘦,没有实力,你别跟我涛斗

甜萝 发表于 2023-1-6 22:43

刀不锋利马太瘦,没有实力,你别跟我涛斗 +1

xixicoco 发表于 2023-1-6 23:03


刀不锋利马太瘦,没有实力,你别跟我涛斗

MrRight929 发表于 2023-1-6 23:34

这个开发难度大嘛?

dujiu3611 发表于 2023-1-6 23:55

其实很简单,是因为你会啊,多谢分享,我试一下增加下记忆

lovxyj 发表于 2023-1-7 07:43

看看怎么样

三滑稽甲苯 发表于 2023-1-7 08:02

这个可以,比直接在油猴内置编辑器里编辑方便

yun520530 发表于 2023-1-7 08:18

学习了谢谢分享
页: [1] 2 3 4
查看完整版本: 油猴脚本本地调试