美萌 vscode 工具集
美萌 vscode 插件,提供了一系列工具,帮助在项目开发过程中快速开发。
通用功能见美萌文档中心。本仓库的构建发布配置以构建发布与配置指南为准(需要仓库访问权限)。
融合项目构建发布
完整字段说明、VS Code 设置、微信上传配置和排错步骤见构建发布与配置指南。
Java 与多个前端共用一个仓库时,在仓库根目录增加轻量的 package.json:
{
"name": "my-project",
"private": true,
"wmeimob": {
"build": {
"projects": ["wmeimob-backend", "wmeimob-taro"],
"outputs": []
}
}
}
projects 是相对根目录的子项目目录列表,每个目录必须有自己的 package.json。支持明确路径,暂不支持通配符;用 . 可以登记根包本身。根配置包不需要安装依赖,也不需要添加 workspaces。未配置 projects 时,继续支持普通项目和 pnpm-workspace.yaml 的包含、排除规则。
打开仓库根目录,运行“项目构建发布”命令,选择子项目、构建方式和脚本;右键子项目的 package.json 可直接构建该项目。运行脚本和 NPM 树也使用相同的项目发现逻辑。配置保存后会刷新 NPM 树,也可手动刷新。
构建在子项目目录执行,优先使用其 packageManager,其次检查锁文件和所属 workspace,最后回退 npm。支持后管等 Web 应用、Taro/uni-app H5 和微信小程序;其他小程序平台及 --watch 脚本暂不支持发布。
发布记录与自定义产物
发布成功后,插件继续回写根 package.json 的 wmeimob.build.outputs。记录示例:
{
"name": "wmeimob-backend",
"projectPath": "wmeimob-backend",
"command": "uat",
"target": "dist",
"key": "example12345",
"platform": "web",
"deployType": "server",
"url": "https://example12345.wmeimob.work"
}
上例 key 和 URL 仅为格式示例,实际值由发布器生成。projectPath 相对配置根目录,target 相对子项目目录。普通后管默认检测 dist,Taro H5 检测 dist/h5,微信小程序检测 dist/weapp,并保留普通 dist 和 uni-app 标准目录的兼容。
自定义输出时,可提前在 outputs 添加 name、projectPath、command、target、platform,省略 key、deployType、url;插件在成功发布后补齐。显式配置的 target 不存在或产物不完整时会报错,不会转而上传其他目录。构建目录与源码、依赖目录必须分开,H5 与微信产物也应分开输出;产物目录不支持符号链接。
旧记录继续按 name + command 匹配并保留原 key,成功发布时补充新字段。同名子项目存在歧义时,需要先补充 projectPath。新记录按 projectPath + command 区分;旧项目生成 key 的算法不变,新增 projects 模式使用仓库名、相对项目路径和脚本生成 key。
仍可在 outputs 的 key 上悬浮或点击访问页面。新 Web 记录优先打开实际发布 URL,不受之后切换上传设置的影响;历史记录继续使用原有拼接规则。微信记录显示上传信息,不生成网页访问地址,体验版和审核仍在微信公众平台管理。
执行结果
- “仅构建”不访问上传服务,也不要求微信登录或输入上传版本号。
- “仅发布”不清理、不构建,只校验选定产物并上传;请自行确保产物对应所选环境脚本。
- 构建退出码非零、取消、无成功退出状态或超过五分钟时,停止后续发布。
- 上传失败不会回写成功记录。上传成功但本地配置写入失败会分别提示,无需重复上传。
- 微信上传校验
project.config.json 的 miniprogramRoot,使用与实际产物对应的微信工程目录。
插件回归检查:npm run test:build-project(测试使用 Node.js 22,无需安装业务项目依赖,不执行真实构建或上传)。
VS Code 设置示例
在设置界面搜索 wmeimob,或编辑业务仓库的 .vscode/settings.json。下面是 Windows 下的示例;微信 CLI 路径需替换为本机安装位置,只有上传小程序时需要它:
{
"wmeimob.project.windowsWeiXinCliPath": "D:/微信web开发者工具/cli.bat",
"wmeimob.project.uploadToOSS": false,
"wmeimob.project.buildCommandRegex": [
"^(uat|build)(:|$)",
"!:(swan|alipay|tt|rn|qq|jd|harmony-hybrid)(:|$)"
]
}
buildCommandRegex 筛选的是脚本名称,! 开头的规则排除匹配项;上例显示 uat、build 及支持的平台后缀。uploadToOSS: false 使用现有服务器发布通道,true 使用保留兼容的 OSS 通道,均只影响 Web 发布。
根包中的 wmeimob.build.projects/outputs 与编辑器的 wmeimob.project.* 设置属于不同配置位置,不要混放。outputs.deployType/url 保存发布结果,不用于指定下一次上传位置。完整默认值与 NPM 树筛选示例见插件设置。
插件开发指南
废弃
已经移除的功能:
开发
如何你想为公司插件开发助力。本篇会为你讲述如何开发发布一个插件
启动
安装依赖并启动项目
yarn // 安装依赖
按下键盘上的F5键。插件会进行编译。并启动监听文件修改。当你修改文件后会自动编译。但是需要注意的是。启动的调试编译器不会自动刷新。需要你自己重启一下
发布
README 会展示在扩展市场中。Codeup 仓库的相对文档链接不能依赖 vsce 自动推导,请在 README 使用完整 HTTPS 地址;仓库内的其他文档可继续使用相对链接。新增文档入口后,先执行 vsce package --yarn 做本地打包检查,再运行发布命令。本地打包会编译插件并生成 VSIX,不会上传到扩展市场。
当你完成插件开发后。只需要执行两个命令即可发布插件到插件市场
关于发布的更多信息。查看下面的链接
打tag并生成changelog
// 打包版本
yarn release:patch // 打一个修订本
yarn release:minor // 打一个小版本
yarn release:major // 打一个主版本
Flow流水线发布
通过上面的命令将tag 推送到远端仓库后。会根据tag自动启动流水线构建与发布。并在发布结束后 企微通知相关人员。
当然你也可以通过下面的命令 手动发布
手动发布应用市场
首先确保你登录并绑定了Personal Access Token
yarn pub // 发布至应用市场