47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
import { createApp } from 'vue';
|
|
|
|
import * as Sentry from '@sentry/vue';
|
|
import { VueQueryPlugin } from '@tanstack/vue-query';
|
|
import * as VtjCharts from '@vtj/charts';
|
|
import { IconsPlugin } from '@vtj/icons';
|
|
import * as VtjUI from '@vtj/ui';
|
|
import Antd from 'ant-design-vue';
|
|
import ElementPlus from 'element-plus';
|
|
|
|
import App from './App.vue';
|
|
|
|
import 'element-plus/dist/index.css';
|
|
import '@vtj/ui/dist/style.css';
|
|
import './style.css';
|
|
|
|
const app = createApp(App);
|
|
|
|
Sentry.init({
|
|
app,
|
|
dsn: 'https://5bcf1344794fea64fc5e5fe7da4821c1@o4508962650783744.ingest.de.sentry.io/4508962653143120',
|
|
integrations: [
|
|
// 异常路径回放
|
|
// Sentry.replayIntegration(),
|
|
// 异常端信息追踪
|
|
// Sentry.browserTracingIntegration(),
|
|
],
|
|
// Session Replay
|
|
// replaysSessionSampleRate: 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production.
|
|
// replaysOnErrorSampleRate: 1, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur.
|
|
});
|
|
|
|
// 批量注册组件
|
|
Object.entries(VtjUI).forEach(([name, component]) => {
|
|
app.component(name, component);
|
|
});
|
|
Object.entries(VtjCharts).forEach(([name, component]) => {
|
|
app.component(name, component);
|
|
});
|
|
|
|
app
|
|
.use(Antd)
|
|
.use(ElementPlus)
|
|
.use(IconsPlugin)
|
|
.use(VueQueryPlugin)
|
|
.mount('#y-code-renderer');
|