xgqfrms / cdn

:rocket: :airplane: :bullettrain_side: free CDN for everyone who wants to speed his website freely!:smile:
https://cdn.xgqfrms.xyz
Apache License 2.0
17 stars 19 forks source link

ES6 import module without from #57

Open xgqfrms opened 2 years ago

xgqfrms commented 2 years ago

ES6 import module without from


import Vue from 'vue';
import router from '@/routers/index';
import App from '@/views/app.vue';
import store from '@/store/index';

import ElementUI from 'element-ui';
import moment from 'moment';
import VueClipboard from 'vue-clipboard2';

// js
import '@/filters';
import '@/components';
import '@/utils/sentry';

// css
import 'animate.css';
import 'element-ui/lib/theme-chalk/display.css';
import 'font-awesome/css/font-awesome.min.css';
import '@/styles/app.scss';
xgqfrms commented 2 years ago
import Vue from 'vue';
import { Vue as VueIntegration } from '@sentry/integrations';

// import * as
import * as Sentry from '@sentry/browser';

import * as PACKAGE from '../../package.json';

class ErrorHandler {
    constructor (name) {
        this.name = name || ErrorHandler.name;
    }
    onError (err, vm, info) {
        // Sentry 错误上报
        console.log('❌ Vue error', err);
        console.log('❌ Vue vm', vm);
        console.log('❌ Vue info', info);
    }
}

if (window.location.host === 'app.xgqfrms.xyz') {
    Sentry.init({
        environment: 'prod',
        ignoreErrors: [
            'ResizeObserver loop limit exceeded',
            'ResizeObserver loop completed with undelivered notifications'
        ],
        release: `${PACKAGE.name}@${PACKAGE.version}`,
        dsn: 'https://302ed2bbe24f05e67fc9fde5eb51410d@sentry.xgqfrms.xyz//10',
        integrations: [new VueIntegration({Vue, attachProps: true, logErrors: true})],
    });
    const errorHandler = new ErrorHandler('vue_error');
    Vue.config.errorHandler = (err, vm, info) => errorHandler.onError(err, vm, info);
}