{"_id":"@bct-common/mom","name":"@bct-common/mom","dist-tags":{"latest":"0.0.15"},"versions":{"0.0.15":{"name":"@bct-common/mom","version":"0.0.15","private":false,"description":"MOM (制造运营管理) 页面视图与页面级 i18n，可从宿主工程通过 pnpm workspace 或发布包复用","type":"module","keywords":["mom","vue3","manufacturing"],"peerDependencies":{"element-plus":"^2.9.0","vue":"^3.5.0","vue-i18n":"^11.1.0","vue-router":"^4.5.0"},"_id":"@bct-common/mom@0.0.15","_nodeVersion":"24.14.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-jyvSv+nKYBBDLE1AHt0tAY7ThSbv2jVo9NXLVPPh4VY90HDF5cl9uXAsUUU28DyhKWlIMwwOKP4uM1qbJLSX/A==","shasum":"ba2e8d44d3b788e0b7469a59dba863ade51fffbc","tarball":"https://registry.npmjs.org/@bct-common/mom/-/mom-0.0.15.tgz","fileCount":466,"unpackedSize":5459464,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCKyVIsp8tkJG4eoBl94vel9ZO5nk0PAAD+0NiP4R3tnQIhAO01O+gZCRECSrN6k03ymze26Dub3qHvuppzti2kqCK2"}]},"_npmUser":{"name":"eternity_wll","email":"1619963687@qq.com"},"directories":{},"maintainers":[{"name":"eternity_wll","email":"1619963687@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mom_0.0.15_1776672748249_0.6789244304805542"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-20T08:12:28.155Z","0.0.15":"2026-04-20T08:12:28.433Z","modified":"2026-04-20T08:12:28.665Z"},"maintainers":[{"name":"eternity_wll","email":"1619963687@qq.com"}],"description":"MOM (制造运营管理) 页面视图与页面级 i18n，可从宿主工程通过 pnpm workspace 或发布包复用","keywords":["mom","vue3","manufacturing"],"readme":"# @bct/mom\n\n本包承载 **MOM（制造运营管理）** 相关的前端页面（`views/mom`）与 **页面级国际化**（`i18n/pages/mom`），与宿主工程通过 **pnpm workspace** 链接；也可复制目录或发布后给其他 Vue 3 工程复用。\n\n## 在本仓库中的用法\n\n1. 根目录已配置 `pnpm-workspace.yaml`，将 `packages/*` 纳入 workspace。\n2. 根 `package.json` 依赖 `\"@bct/mom\": \"workspace:*\"`，`pnpm install` 时会自动链接到 `packages/mom`，无需再手动拷贝源码。\n3. 宿主工程需保留以下约定（本仓库已写好）：\n   - **Vite** `resolve.alias`：`/@/views/mom` → `packages/mom/views/mom`（保证原有 `/@/views/mom/...` 引用与后端菜单 `component` 路径不变）。\n   - **动态路由**（`src/router/backEnd.ts`）：除 `../views/**/*` 外，增加对 `../../packages/mom/views/**/*` 的 `import.meta.glob`，并用 `normalizeViewsModuleKey` 将 key 规范为与原先一致的 `mom/...` 后缀，以便 `dynamicImport` 匹配后端返回的组件路径。\n   - **i18n**（`src/i18n/index.ts`）：合并 `import.meta.glob('../../packages/mom/i18n/**/*.ts')`，与 `src/i18n` 下其它页面语言包一起进入 `messages`。\n   - **TypeScript**：`tsconfig.json` 的 `include` 包含 `packages/mom/**/*.vue` 与 `**/*.ts`，以便类型检查与 IDE 跳转。\n\n## 在其它项目中复用\n\n宿主需与本项目一样使用 **`/@/`** 指向自身 `src`（axios、api、stores、utils 等仍从宿主解析）。MOM 页面内的业务代码大量依赖该别名。\n\n### 方式 A：pnpm workspace（推荐，同 monorepo）\n\n在宿主仓库根目录：\n\n```yaml\n# pnpm-workspace.yaml\npackages:\n  - 'packages/*'\n```\n\n将本包目录放入宿主 `packages/mom`（或子模块 / git subtree 同步同路径），在宿主 `package.json` 中增加：\n\n```json\n{\n  \"dependencies\": {\n    \"@bct/mom\": \"workspace:*\"\n  }\n}\n```\n\n然后在宿主 **Vite**、**backEnd 动态 glob**、**i18n 合并**、**tsconfig include** 四处按上文「在本仓库中的用法」对齐配置即可。\n\n### 方式 B：发布到 npm / 私有 registry\n\n1. 将 `packages/mom/package.json` 中 `name`、`version` 调整为你的 scope（例如 `@your-org/mom`），按需设置 `\"private\": false` 后执行发布流程。\n2. 在宿主中 `pnpm add @your-org/mom`，并把 Vite 中 `/@/views/mom` 别名指向 **`node_modules/@your-org/mom/views/mom`**（或该包 `exports` 所暴露的目录）。\n3. 动态路由 glob 改为指向 **`node_modules/@your-org/mom/views/**/*`**，并在 `normalizeViewsModuleKey` 中增加对路径片段 **`packages/mom/views/`** 的识别（与本仓库一致；注意不要用前导 `/packages/`，否则匹配不到 Vite 返回的 `../../packages/...` 形式 key）。\n\n### 方式 C：file / link 本地路径\n\n```json\n\"@bct/mom\": \"file:../01-Client-QY/packages/mom\"\n```\n\n别名仍指向该包内 `views/mom` 物理路径即可。\n\n## 目录说明\n\n| 路径 | 说明 |\n|------|------|\n| `views/mom/**` | 原 `src/views/mom`，组件路径仍以 `mom/...` 为后缀供后端路由匹配 |\n| `i18n/pages/mom/**` | 原 `src/i18n/pages/mom`，随宿主 i18n 初始化合并 |\n\n## 维护注意\n\n- 新增仅 MOM 使用的页面级文案时，请在本包 `i18n` 下维护，避免与宿主 `src/i18n/pages` 键名冲突。\n- 若后端菜单 `component` 字段规则变更，需同步检查 `dynamicImport` 的匹配逻辑。\n","readmeFilename":"README.md","_rev":"1-7b4a8df48c18f410a5b48ce9f36065f5"}