V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JCZ2MkKb5S8ZX9pq
V2EX  ›  浏览器

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

  •  1
     
  •   JCZ2MkKb5S8ZX9pq · 2019-12-04 20:48:41 +08:00 · 4307 次点击
    这是一个创建于 983 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 在油猴里写好卡,也没自动格式啥的。注释引号快捷键也没,不大习惯。
    • 能指定外部 js 文件吗?这样做 git 也方便点。
    • 刚好自己有点小需求要写脚本,不大熟悉油猴,有知道的请指教一下。
    8 条回复    2019-12-05 09:01:11 +08:00
    z7356995
        1
    z7356995  
       2019-12-04 20:54:41 +08:00 via Android
    关注一下,同问
    ClericPy
        2
    ClericPy  
       2019-12-04 21:12:10 +08:00
    VSCODE 上写啊, VSCODE 简直就是天生为前端而生的玩意

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

    git 的话, 我是直接丢 Github 上一个 js 文件了, 反正我 Github 没人看, 不会泄密
    Trim21
        4
    Trim21  
       2019-12-04 23:47:28 +08:00 via Android
    Trim21
        5
    Trim21  
       2019-12-04 23:49:54 +08:00 via Android
    为了配合 webpack 还额外写了一个 axios 的 adaptor 和一个 webpack 插件…
    JCZ2MkKb5S8ZX9pq
        6
    JCZ2MkKb5S8ZX9pq  
    OP
       2019-12-05 00:22:28 +08:00   ❤️ 1
    @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
        7
    autoxbc  
       2019-12-05 01:19:22 +08:00   ❤️ 1
    Tampermonkey 有个内部缓存,所有的外部资源写入缓存,在页面启动时同步(阻塞)执行。任何用 require 把主体脚本外置的方法,用任何缓存穿透方法,都无法穿透这个内部缓存,达到编写 => 刷新 => 立即生效。只要穿透的到位,那么至少需要第二次刷新

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

    如果没用这些偏门的方法,上面链接中的做法就是比较好的了;用了的话,还是应该用同步执行,然后写脚本来自动二次刷新
    zsdroid
        8
    zsdroid  
       2019-12-05 09:01:11 +08:00
    小功能用油猴,用什么编辑器,直接手写。大功能写 chrome 插件的。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1059 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 20:59 · PVG 04:59 · LAX 13:59 · JFK 16:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.