UNPKG

vue-bag-admin

Version:

Unified entry package for the Vue Bag Admin runtime ecosystem.

156 lines (118 loc) 3.43 kB
# vue-bag-admin `vue-bag-admin` 是面向业务项目的统一运行时入口包。你可以只安装这一个主包,然后从同一个入口拿到宿主层、请求层、UI 组件层和插件协议层的常用能力。 <p align="center"> <a href="https://hangjob.github.io/vue-bag-admin/docs/">使用文档</a> · <a href="https://hangjob.github.io/vue-bag-admin/">在线预览</a> · <a href="https://github.com/hangjob/vue-bag-admin">GitHub</a> </p> ## 安装 ```bash pnpm add vue-bag-admin vue vue-router pinia vue-i18n naive-ui ``` 如果你需要官方插件,再额外安装对应插件包: ```bash pnpm add @bag/plugin-shop @bag/plugin-sys-setting ``` ## 用法 先引入样式,再在入口里完成宿主初始化: ```ts import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import 'vue-bag-admin/style.css' import './style.css' import { bootstrapPlugins, createHostI18n, createHostRouter, setupHttp } from 'vue-bag-admin' import { exampleRoutes } from './routes' async function setupApp() { const app = createApp(App) const pinia = createPinia() const i18n = createHostI18n() const router = createHostRouter({ routes: exampleRoutes, auth: false }) app.use(pinia) app.use(i18n) app.use(router) // 如果项目已经接后端,可以在入口里统一注入请求配置。 setupHttp({ baseURL: import.meta.env.VITE_API_URL }) await bootstrapPlugins({ app, router, i18n, plugins: [] }) await router.isReady() app.mount('#app') } setupApp() ``` 最小版 `App.vue` 可以只挂宿主容器: ```vue <template> <HostApp /> </template> <script setup lang="ts"> import { HostApp } from 'vue-bag-admin' </script> ``` 如果只是轻量接入宿主壳层,可以先不提供登录页: ```ts import type { AdminRouteRecordRaw } from 'vue-bag-admin' export const exampleRoutes: AdminRouteRecordRaw[] = [ { path: '/', redirect: '/HomeView' }, { path: '/HomeView', name: 'HomeView', component: () => import('./views/HomeView.vue'), meta: { layout: 'default' } }, { path: '/404', name: 'NotFound', component: () => import('./views/NotFound.vue'), meta: { public: true } }, { path: '/:pathMatch(.*)*', redirect: '/404' } ] ``` 如果项目要启用默认后台登录守卫,把 `auth` 改成 `true`,并提供带 `meta.public: true` 的 `/login` 路由。 接入时通常按这个顺序来: 1. 引入 `vue-bag-admin/style.css` 2. 用 `createHostI18n()` 和 `createHostRouter()` 初始化宿主 3. 如果要接后端,在入口里调用 `setupHttp()` 4. 用 `bootstrapPlugins()` 注册插件和插件路由 5. 在 `App.vue` 中挂载 `HostApp` 除了宿主能力,你也可以直接从主包拿请求层和 UI 组件: ```ts import { http, PmProTable, PmProForm, PmSchemaForm } from 'vue-bag-admin' ``` ## 当前聚合范围 - `@bag/core` - `@bag/request` - `@bag/ui` - `@bag/host-vue` ## 配套官方插件 - `@bag/plugin-shop` - `@bag/plugin-sys-setting` ## 脚手架 如果你想直接生成一个宿主项目,请使用: ```bash npx create-vue-bag-admin my-admin ``` ## 文档与社区 遇到接入、插件开发或中后台实践相关的问题,可以先查看[使用文档](https://hangjob.github.io/vue-bag-admin/docs/);也欢迎通过下面的入口继续交流。