大家写油猴脚本怎么测试和做 git?

2019-12-04 20:48:41 +08:00
 JCZ2MkKb5S8ZX9pq
4826 次点击
所在节点    浏览器
8 条回复
z7356995
2019-12-04 20:54:41 +08:00
关注一下,同问
ClericPy
2019-12-04 21:12:10 +08:00
VSCODE 上写啊, VSCODE 简直就是天生为前端而生的玩意

外部文件有个导入功能, 导入个网址, 我以前导入过 clipboard.js, 之后发现 grant 里居然自带......

git 的话, 我是直接丢 Github 上一个 js 文件了, 反正我 Github 没人看, 不会泄密
noe132
2019-12-04 23:39:59 +08:00
Trim21
2019-12-04 23:47:28 +08:00
Trim21
2019-12-04 23:49:54 +08:00
为了配合 webpack 还额外写了一个 axios 的 adaptor 和一个 webpack 插件…
JCZ2MkKb5S8ZX9pq
2019-12-05 00:22:28 +08:00
@ClericPy 说得比较抽象,我找了一个解释得比较完整的版本。

@z7356995
[javascript - Develop Tampermonkey scripts in a real IDE with automatic deployment to OpenUserJs repo - Stack Overflow]
https://stackoverflow.com/questions/41212558/develop-tampermonkey-scripts-in-a-real-ide-with-automatic-deployment-to-openuser

这个是可行的,外挂一个 require 文件。
不过我写的放在油叉上共享了,所以直接把单独的那个 js 文件内容复制过去就好了,版本号跟着 js 走。
油猴里那段 js 就不能跟着油叉更新了,不然 require 可能会不对。
基于 github 有时候访问不稳定,他后面 updateUrl 那招我暂时还没有用。
autoxbc
2019-12-05 01:19:22 +08:00
Tampermonkey 有个内部缓存,所有的外部资源写入缓存,在页面启动时同步(阻塞)执行。任何用 require 把主体脚本外置的方法,用任何缓存穿透方法,都无法穿透这个内部缓存,达到编写 => 刷新 => 立即生效。只要穿透的到位,那么至少需要第二次刷新

唯一可以立即生效的方法是在 Chrome 中用 file:// 协议来 require 外部文件,但是此时脚本又变成了异步执行,也就是捕获不到事件流中靠前(大概 DOMContentLoaded 之前)的事件,于是,一些 hack 原生对象的技法可能与预期不一致

如果没用这些偏门的方法,上面链接中的做法就是比较好的了;用了的话,还是应该用同步执行,然后写脚本来自动二次刷新
zsdroid
2019-12-05 09:01:11 +08:00
小功能用油猴,用什么编辑器,直接手写。大功能写 chrome 插件的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/626015

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX