1
z7356995 2019-12-04 20:54:41 +08:00 via Android
关注一下,同问
|
2
ClericPy 2019-12-04 21:12:10 +08:00
VSCODE 上写啊, VSCODE 简直就是天生为前端而生的玩意
外部文件有个导入功能, 导入个网址, 我以前导入过 clipboard.js, 之后发现 grant 里居然自带...... git 的话, 我是直接丢 Github 上一个 js 文件了, 反正我 Github 没人看, 不会泄密 |
3
noe132 2019-12-04 23:39:59 +08:00 1
|
4
Trim21 2019-12-04 23:47:28 +08:00 via Android
|
5
Trim21 2019-12-04 23:49:54 +08:00 via Android
为了配合 webpack 还额外写了一个 axios 的 adaptor 和一个 webpack 插件…
|
6
JCZ2MkKb5S8ZX9pq OP @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 那招我暂时还没有用。 |
7
autoxbc 2019-12-05 01:19:22 +08:00 1
Tampermonkey 有个内部缓存,所有的外部资源写入缓存,在页面启动时同步(阻塞)执行。任何用 require 把主体脚本外置的方法,用任何缓存穿透方法,都无法穿透这个内部缓存,达到编写 => 刷新 => 立即生效。只要穿透的到位,那么至少需要第二次刷新
唯一可以立即生效的方法是在 Chrome 中用 file:// 协议来 require 外部文件,但是此时脚本又变成了异步执行,也就是捕获不到事件流中靠前(大概 DOMContentLoaded 之前)的事件,于是,一些 hack 原生对象的技法可能与预期不一致 如果没用这些偏门的方法,上面链接中的做法就是比较好的了;用了的话,还是应该用同步执行,然后写脚本来自动二次刷新 |
8
zsdroid 2019-12-05 09:01:11 +08:00
小功能用油猴,用什么编辑器,直接手写。大功能写 chrome 插件的。
|