feat: 重构插件安装方式,统一使用 install 方法并移除不必要的 setup 函数
This commit is contained in:
33
src/main.ts
33
src/main.ts
@ -1,35 +1,18 @@
|
||||
import './assets/styles';
|
||||
|
||||
import { createHead } from '@unhead/vue';
|
||||
import { setupEruda } from './plugins/eruda';
|
||||
import { setupPinia } from './plugins/pinia';
|
||||
import { setupPrimeVue } from './plugins/primevue';
|
||||
import { setupRouter } from './plugins/router';
|
||||
import { setupVueI18n } from './plugins/vue-i18n';
|
||||
|
||||
import App from './App.vue';
|
||||
|
||||
async function init() {
|
||||
if ((import.meta.env.MODE === 'development' || 1 === 1) && 0) {
|
||||
await setupEruda();
|
||||
const app = createApp(App);
|
||||
{
|
||||
// https://github.com/antfu-collective/vitesse/blob/47618e72dfba76c77b9b85b94784d739e35c492b/src/modules/README.md
|
||||
type UserPluginContext = { app: import('vue').App<Element> };
|
||||
type UserPlugin = (ctx: UserPluginContext) => void;
|
||||
Object.values(import.meta.glob<{ install: UserPlugin }>('./plugins/**.ts', { eager: true })).forEach((i) =>
|
||||
i.install?.({ app }),
|
||||
);
|
||||
}
|
||||
|
||||
const app = createApp(App).use(createHead());
|
||||
|
||||
app.config.errorHandler = (error, instance, info) => {
|
||||
console.error('Global error:', error);
|
||||
console.error('Component:', instance);
|
||||
console.error('Error Info:', info);
|
||||
// 这里你可以:
|
||||
// 1. 发送错误到日志服务
|
||||
// 2. 显示全局错误提示
|
||||
// 3. 进行错误分析和处理
|
||||
};
|
||||
setupPinia(app);
|
||||
setupVueI18n(app);
|
||||
setupPrimeVue(app);
|
||||
setupRouter(app);
|
||||
|
||||
app.config.globalProperties.$__DEV__ = $__DEV__;
|
||||
|
||||
app.mount('#app');
|
||||
|
Reference in New Issue
Block a user