wdssmq/rollup-plugin-monkey: 使用 rollup 开发「GM_脚本」:
https://github.com/wdssmq/rollup-plugin-monkey
因为还不会用create
命令所以需要下载打包好的模板然后解压;
PROJECT_SCRIPT=script_demo
# 下载初始模板
wget https://github.com/wdssmq/rollup-plugin-monkey/releases/download/v1.0.2/script_def.tar.gz
tar -xzvf script_def.tar.gz
mv script_def ${PROJECT_SCRIPT}
cd ${PROJECT_SCRIPT}
cnpm i
# 修改 src/__info.js 内常量定义
# 运行
npm run dev
文件示意(初始):
❯ tree -a
.
├── .eslintrc.yaml
├── package.json
├── rollup.config.mjs
└── src
├── __dev.js
├── __info.js
├── _base.js
└── main.js
文件示意(cnpm i && npm run dev):
❯ tree -a
.
├── .eslintrc.yaml
├── dev
│ ├── main.js # 功能代码,动态引入至页面
│ └── script_demo.user.js # 开发时安装进浏览器的脚本,会以「dev」开头以作区分
├── node_modules
│ └── XXXX
├── package.json
├── rollup.config.mjs
├── script_demo.user.js # 最终脚本文件,默认输出至根目录,可配置;
└── src
├── __dev.js # vite-plugin-monkey 里抄的,也不需要自己修改;
├── __info.js # userscript header 在这里配置;
├── _base.js
└── main.js
.gitignore
、.editorconfig
等文件要另外配置,或者你也可以像我一样把所有「GM_脚本」放在一个版本库里管理;
.eslintrc.yaml
也只是定义了「引号」和「分号」的风格;
除了正式文件的输出路径外,理论上不需要自行配置rollup.config.mjs
及package.json
;