bootstrap.ts 760 B

12345678910111213141516171819202122232425262728293031323334
  1. import { createApp } from 'vue';
  2. import { registerAccessDirective } from '@vben/access';
  3. import { initStores } from '@vben/stores';
  4. import '@vben/styles';
  5. import '@vben/styles/ele';
  6. import { setupI18n } from '#/locales';
  7. import { initComponentAdapter } from './adapter/component';
  8. import App from './app.vue';
  9. import { router } from './router';
  10. async function bootstrap(namespace: string) {
  11. // 初始化组件适配器
  12. await initComponentAdapter();
  13. const app = createApp(App);
  14. // 国际化 i18n 配置
  15. await setupI18n(app);
  16. // 配置 pinia-tore
  17. await initStores(app, { namespace });
  18. // 安装权限指令
  19. registerAccessDirective(app);
  20. // 配置路由及路由守卫
  21. app.use(router);
  22. app.mount('#app');
  23. }
  24. export { bootstrap };