现代化油猴脚本开发模板 - 支持模块化开发、热加载、npm包管理
通过 npm 命令一键创建项目,无需手动配置,开箱即用
使用 Webpack 模块化管理代码,告别单文件开发的痛苦
开发时修改代码自动编译,实时预览效果
支持自定义 ASCII 艺术字,让你的脚本更有个性
打包后为高可读性的单文件,完全符合油猴商店上架政策
一键构建发布版本,无需额外处理即可上架
推荐方式 - 使用 npm 命令一键创建项目:
# 使用 npm create(推荐)
npm create @javascript-reverse-engineering-infrastructure/userscript my-userscript
# 或者使用 npx
npx @javascript-reverse-engineering-infrastructure/create-userscript my-userscript
# 进入项目目录
cd my-userscript
# 安装依赖
npm install
项目创建完成后,你就可以开始开发了!项目结构如下:
my-userscript/
├── src/ # 源代码目录
│ ├── index.js # 入口文件
│ ├── foo_module/ # 示例模块
│ └── bar_module/ # 示例模块
├── dist/ # 编译输出目录
├── banner.txt # Banner 文件
├── userscript-headers.js # 油猴脚本头部配置
├── webpack.*.js # Webpack 配置
└── package.json # 项目配置
在项目目录下运行以下命令启动开发服务,支持热重载:
npm run watch
yarn watch
./fuck-hot-compile.sh
说明: 这是一个简单的 shell 脚本,用于在遇到 hot watch 不工作时的替代方案
此命令会监听源文件变化并自动重新编译。
npm run build
在 GitHub 模板仓库选择 "Use this template" 创建新仓库
前往模板仓库 Loading...git clone [你的仓库地址]
cd [项目目录]
yarn install
在项目目录下运行以下命令启动开发服务:
npm run watch
yarn watch
./fuck-hot-compile.sh
说明: 这是一个简单的 shell 脚本,用于在遇到 hot watch 不工作时的替代方案
此命令会监听源文件变化并自动重新编译。
yarn build
项目支持在编译后的代码中添加自定义 banner。在项目根目录的 banner.txt
文件中,你可以添加 ASCII 艺术字或其他装饰性文本。
在项目根目录创建或编辑 banner.txt
文件:
▗▄▄▄▖▗▖ ▗▖▗▄▄▖ ▗▄▄▄▖ ▗▄▄▖ ▗▄▄▖▗▄▄▖ ▗▄▄▄▖▗▄▄▖▗▄▄▄▖
█ ▝▚▞▘ ▐▌ ▐▌▐▌ ▐▌ ▐▌ ▐▌ ▐▌ █ ▐▌ ▐▌ █
█ ▐▌ ▐▛▀▘ ▐▛▀▀▘ ▝▀▚▖▐▌ ▐▛▀▚▖ █ ▐▛▀▘ █
█ ▐▌ ▐▌ ▐▙▄▄▖▗▄▄▞▘▝▚▄▄▖▐▌ ▐▌▗▄█▄▖▐▌ █
▗▖ ▗▖ ▗▄▄▖▗▄▄▄▖▗▄▄▖ ▗▄▄▖ ▗▄▄▖▗▄▄▖ ▗▄▄▄▖▗▄▄▖▗▄▄▄▖
▐▌ ▐▌▐▌ ▐▌ ▐▌ ▐▌▐▌ ▐▌ ▐▌ ▐▌ █ ▐▌ ▐▌ █
▐▌ ▐▌ ▝▀▚▖▐▛▀▀▘▐▛▀▚▖ ▝▀▚▖▐▌ ▐▛▀▚▖ █ ▐▛▀▘ █
▝▚▄▞▘▗▄▄▞▘▐▙▄▄▖▐▌ ▐▌▗▄▄▞▘▝▚▄▄▖▐▌ ▐▌▗▄█▄▖▐▌ █
▗▄▄▄▖▗▄▄▄▖▗▖ ▗▖▗▄▄▖ ▗▖ ▗▄▖▗▄▄▄▖▗▄▄▄▖
█ ▐▌ ▐▛▚▞▜▌▐▌ ▐▌▐▌ ▐▌ ▐▌ █ ▐▌
█ ▐▛▀▀▘▐▌ ▐▌▐▛▀▘ ▐▌ ▐▛▀▜▌ █ ▐▛▀▀▘
█ ▐▙▄▄▖▐▌ ▐▌▐▌ ▐▙▄▄▖▐▌ ▐▌ █ ▐▙▄▄▖
Banner 内容支持以下变量替换:
${name}
- 项目名称${version}
- 版本号${description}
- 项目描述${author}
- 作者信息${repository}
- 仓库地址${namespace}
- 命名空间${document}
- 文档地址编译时,banner 内容会被自动插入到油猴脚本头部注释中:
// ==UserScript==
// @name my-project
// @version 1.0.0
// ...
// ==/UserScript==
// ▗▄▄▄▖▗▖ ▗▖▗▄▄▖ ▗▄▄▄▖ ▗▄▄▖ ▗▄▄▖▗▄▄▖ ▗▄▄▄▖▗▄▄▖▗▄▄▄▖
// █ ▝▚▞▘ ▐▌ ▐▌▐▌ ▐▌ ▐▌ ▐▌ ▐▌ █ ▐▌ ▐▌ █
// █ ▐▌ ▐▛▀▘ ▐▛▀▀▘ ▝▀▚▖▐▌ ▐▛▀▚▖ █ ▐▛▀▘ █
// █ ▐▌ ▐▌ ▐▙▄▄▖▗▄▄▞▘▝▚▄▄▖▐▌ ▐▌▗▄█▄▖▐▌ █
// 你的代码...
在开发过程中,您需要在油猴中创建一个指向本地文件的脚本。具体步骤如下:
在油猴扩展中创建新脚本,复制以下基础配置:
// ==UserScript==
// @name [你的脚本名称]
// @namespace [你的仓库地址]
// @version 0.0.1
// @description [脚本描述]
// @author [作者名称]
// @match *://*/*
// @run-at document-start
// @require file://[本地项目路径]/dist/index.js
// ==/UserScript==
(() => {})();
请按照以下步骤开启文件网址访问权限:
完成以上设置后,即可使用本地文件进行开发调试。
在项目目录下运行以下命令启动开发服务:
npm run watch
yarn watch
./fuck-hot-compile.sh
说明: 这是一个简单的 shell 脚本,用于在遇到 hot watch 不工作时的替代方案
此命令会监听源文件变化并自动重新编译。
现在您可以:
src
目录下的源代码源码修改会自动编译到 dist/index.js
,油猴脚本会自动加载最新编译结果。
npm run build
或 yarn build
生成发布文件,然后将 dist/index.js
中的内容复制到油猴脚本中即可发布。