五月份了,又可以領大會員 B 幣了,不過 B 站又改了些東西,導致我之前寫的提醒腳本也要相應的修改;
「- 很多說明要詳細到什麼程度也是好難把握 -」
腳本獲取及說明見:
2022-09-12:
弄了個 rollup 插件出來:
wdssmq/rollup-plugin-monkey: 使用 rollup 開發「GM_腳本」:
視頻演示:
「小代碼」rollup.js 開發「GM_腳本」演示_哔哩哔哩_bilibili:
一直以來,針對同一個網站的功能腳本會塞進一個文件裡,比如之前 B 站的腳本有 330 行,維護修改是真的痛苦;
「果然還是拆成小文件然後自動拼接會比較方便吧!」 ← 雖然這麼想,但是咸魚星人什麼的。。
好在前不久終於開始填這個坑了,使用的方案就是「rollup.js
」;
rollup.js
本身的教程可參考文末推薦,事實上終於決定水出本文也是因為阮一峰碰巧在這個時機寫了介紹;
如果你也想用來構建「GM_腳本」則可以參考下我的使用姿勢;
- GM_腳本的應用環境是瀏覽器,所以對應的輸出格式是
format: 'iife'
; - GM_腳本開頭需要加入
==UserScript== …… ==/UserScript==
註釋,可以作為banner
由rollup.js
拼接進來; - 配置定義文件
rollup.config.js
支持從外部引入內容作為參數,所以banner
定義值可以寫在一個單獨的文件裡,比如src/__info.js
,同樣作為腳本命名的name
也可以由該文件提供; - 所以不同腳本項目可以使用同樣的
rollup.config.js
內容,而只需要修改src/__info.js
中的定義; - 我弄了份
empty\_def
作為初始項目,除了src/__info.js
外還有src/_base.js
,封裝了各種「初始常量或函數」;「- 就是風格不太統一的感覺 -」 src/main.js
中可以使用import _bcoin from './_bcoin';
單純拼接不同文件進來,雖然會得到一行黃字:Import of non-existent exports
,不過我們就是要這樣用;
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 入門教程 - 阮一峰的網絡日誌:
Module 的語法 - ES6 教程 - 網道: