Package Exports
- us-build
- us-build/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (us-build) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
usbuild
🚀 一个基于 esbuild 的 油猴 脚本(UserScript)构建工具,让你的脚本开发像坐火箭一样快!
🪄 功能
🧙♂️ 变戏法般的 UserScript 头部注释 - 你写代码,我变魔术!自动将你的配置变成闪亮的 UserScript 头部注释。忘记繁琐的格式吧,让这个魔法帮你搞定一切!
🔍 侦探式的智能 GM_API 探测 - 我们的构建过程中有个侦探,它会悄悄检查你的代码,寻找那些GM_API的踪迹,并且像发现宝藏一样自动生成 grant 属性。配置再也不是什么难题,全部交给这个侦探吧!
🚀 忍者般的热重载与开发服务器 - 开启 dev 模式,就像召唤了一位忍者,他不仅偷偷启动了开发服务器,还能在源文件一有风吹草动时,迅速做出反应,实现热重载。手动刷新?那是过去式!
🌐 本地文件的秘密通道(可选功能) - 想绕过 CSP?没问题!启用
enableLocalFileRequireInDev,就像打开了一个秘密通道,让你在本地自由穿梭,不受束缚。但记住,这可是个双刃剑,虽然强大,但要小心使用,我们默认是关着的哦!
🛠️ 安装
🔮 在 01 世界里敲入这个神秘的咒语,神奇的工具就到手啦!
npm i -D usbuild🚀 快速开始
想要成为 UserScript 的大师吗?来吧,跟着我一起开始这段奇妙之旅!
首先,创建一个神秘的文件,取名为 MyUserScript.mjs(当然,名字可以随你的心意变换哦)。
接着,用你那魔法般的双手在文件里施展这样的咒语:
import { build } from 'usbuild'
await build({
match: ['https://*.bilibili.com/*']
})
const 超大声 = alert
超大声('番茄炒蛋拳!')完成这一切后,只需轻轻一挥你的魔杖(直接使用 node 命令运行该文件),神奇的事情就会发生:脚本自动构建,并且浏览器会如同被施了魔法般自动打开安装!
🌟 参数详解
准备好深入探索 usbuild 的神秘力量了吗?让我们一起解锁这些魔法参数的秘密!
build 函数是你施法的核心,它有两个神秘的参数:一个是 UserScript 配置的魔法盒子,另一个是可选的魔法选项。
-
一个对象,其中的🔑键名就像法术的名称,值则是充满魔力的字符串或字符串数组。
name
🎩 name 字段可以选择性消失,如果消失,它会像魔术师一样从文件名中变出来。
grant不需要书写该咒语。
🕵️♂️ 在非 dev 模式下,grant 属性会像智能侦探一样自动进行检测并生成,免去了手动配置的繁琐。
🚀 而在 dev 模式下,为了让开发更加方便快捷,我们直接授予所有权限,就像给开发者提供了一把万能钥匙!
构建选项
一个对象。这些是定制你的构建过程的小小工具。
dev默认值
false🌆 这个模式就像是间谍黄昏,会偷偷监听源文件的变动,实现神奇的热重载。
outdir默认值
'dist'🏠 outdir 会在指定目录下藏起构建后的文件。
host默认值
'127.0.0.1'🏡 host 设定了我们的服务地址,就像定下了我们神秘小屋的地点,确保它既安全又容易找到。
port默认值
7100🚪 port 就像是我们小屋的门牌号,指定了访客应该敲哪扇门来找到我们的宝藏。
autoReload默认值
true🔄 控制是否开启自动刷新的魔法开关(也就是实时热重载)。当源文件变化时,它就像灵巧的小精灵,自动更新网页,让变化瞬间呈现,免去了手动刷新的麻烦。
autoReloadMode默认值
refresh🧶 控制自动重载的模式,可选值为
refresh和reinstall。refresh以刷新网页的方式自动重载,reinstall以重新安装脚本的方式自动重载。autoReloadDelay默认值
1000⏱️ autoReloadDelay 是自动重载的等待时间(毫秒),像是小精灵准备魔法的时间。
enableLocalFileRequireInDev默认值
false📂 控制在开发模式下是否启用加载本地文件来绕过内容安全策略(CSP)。启用这个功能时,你需要在浏览器的油猴扩展中设置允许访问本地文件。这就像是给你的脚本赋予了额外的力量,让它在本地环境中自由翱翔,但别忘了,这需要在你的浏览器扩展中额外开启相应的权限。
💬 社区
作者的闲聊吹水(QQ)群: 733165997