构建与打包
插件开发完成后,需要经过构建(编译源码)和打包(生成 .tar.gz)两个步骤,才能分发到其他 NocoBase 应用中使用。
构建插件
构建会把 src/ 下的 TypeScript 源码编译为 JavaScript——客户端代码由 Rsbuild 打包,服务端代码由 tsup 打包:
构建产物会输出到插件根目录的 dist/ 下。
提示
如果插件是在源码仓库中创建的,首次构建会触发整仓库的类型检查,耗时可能较长。建议确保依赖已安装,并保持仓库处于可构建状态。
打包插件
打包会把构建产物压缩成一个 .tar.gz 文件,方便上传到其他环境:
打包文件默认输出到 storage/tar/@my-project/plugin-hello.tar.gz。
你也可以用 --tar 参数把构建和打包合成一步:
上传到其他 NocoBase 应用
把 .tar.gz 文件上传并解压到目标应用的 ./storage/plugins 目录即可。详细步骤见 安装与升级插件。
默认启用插件
上传后插件默认不会自动激活——它会出现在「插件管理器」里,需要手动开启。如果你在维护自己的 NocoBase 应用,希望插件随应用一起默认启用,可以用 APPEND_PRESET_BUILT_IN_PLUGINS(追加默认内置插件)环境变量控制,用法见让插件默认预置或默认启用。
自定义构建配置
通常来说默认的构建配置就够用了。如果你需要自定义——比如修改打包入口、添加别名、调整压缩选项等——可以在插件根目录下创建 build.config.ts 文件:
几个关键点:
modifyRsbuildConfig— 用来调整客户端打包,比如添加 Rsbuild 插件、修改 resolve 别名、调整代码分割策略等。配置项参考 Rsbuild 文档modifyTsupConfig— 用来调整服务端打包,比如修改 target、externals、entry 等。配置项参考 tsup 文档beforeBuild/afterBuild— 构建前后的钩子,接收一个log函数用于输出日志。比如在beforeBuild里生成一些代码文件,在afterBuild里拷贝静态资源到产物目录

