V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
wdssmq
V2EX  ›  分享创造

使用 rollup.js 模块化编写 GM 脚本

  •  
  •   wdssmq ·
    wdssmq · 2022-05-05 14:51:03 +08:00 · 1712 次点击
    这是一个创建于 694 天前的主题,其中的信息可能已经有所发展或是发生改变。

    针对同一个网站的脚本功能比较多的话果然还是拆分成多个文件比较方便;

    可参考 empty_def 组织你的初始模板,之后复制使用就好;

    ==UserScript== …… ==/UserScript==部分写在src/__info.js里;

    userscript/empty_def:https://github.com/wdssmq/userscript/tree/master/empty_def

    userscript/bilibili:https://github.com/wdssmq/userscript/tree/master/bilibili「历史原因,导出文件还是later.user.js,要不要改呢」

    B 币领取提醒:https://github.com/wdssmq/userscript/blob/master/bilibili/src/_bcoin.js「只是提醒,并不能自动领」

    超级废话版说明:

    「折腾」使用 rollup.js 模块化编写 GM 脚本_电脑网络_沉冰浮水:

    https://www.wdssmq.com/post/20120627834.html

    相关阅读:

    打包工具 rollup.js 入门教程 - 阮一峰的网络日志:

    http://www.ruanyifeng.com/blog/2022/05/rollup.html

    第 1 条附言  ·  2022-05-05 15:58:01 +08:00
    使用时遇到点儿问题,不知道是我姿势不对还是什么情况;

    about tree-shaking · Issue #4488 · rollup/rollup

    https://github.com/rollup/rollup/issues/4488

    --no-treeshake 相关的参数都试过,然而好像并没有哪个能符合我的需求;
    6 条回复    2022-05-07 18:10:15 +08:00
    autoxbc
        1
    autoxbc  
       2022-05-05 15:57:39 +08:00
    我是另一种习惯,把所有网站的脚本放在同一个文件里,有一万两千行
    wdssmq
        2
    wdssmq  
    OP
       2022-05-05 16:02:26 +08:00
    @autoxbc #1 [惊恐]
    lisongeee
        3
    lisongeee  
       2022-05-07 09:55:00 +08:00
    wdssmq
        4
    wdssmq  
    OP
       2022-05-07 12:10:00 +08:00
    @lisongeee #3

    2214962083/rollup-tampermonkey: rollup+typescript+vue+less to build tampermonkey scripts
    https://github.com/2214962083/rollup-tampermonkey

    我了解过类似的项目,感觉过于复杂了,我的方案只需要一份 rollup.config.js 和若干 src/*.js 就可以,也适合把多个脚本项目塞进同一个 git 库里。。
    lisongeee
        5
    lisongeee  
       2022-05-07 17:00:26 +08:00
    @wdssmq

    你想要的效果是多个脚本聚合在一个仓库,确实不适合用我这个单个的。但是我看你发的这个 https://github.com/2214962083/rollup-tampermonkey 开发体验明显没有 https://github.com/lisonge/vite-plugin-monkey.git 方便啊
    wdssmq
        6
    wdssmq  
    OP
       2022-05-07 18:10:15 +08:00
    @lisongeee #5

    至少在文件数量上对于来说是一个方向的 /doge ;

    寻求解决方案时就是这样,会找到一些相关的东西,知道其「存在」;

    然后根据自身需要挑选一些进行「试用」,最后确定它「能用」以及「合用」;

    看别人的脚本项目发现有用 rollup 这个东西,以其为关键词搜索找到了上边项目,但是太繁杂了,然后发现 rollup.js 自身就能符合我的需求;
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2765 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 12:12 · PVG 20:12 · LAX 05:12 · JFK 08:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.