main.js 2.3 KB
Newer Older
yma16's avatar
yma16 已提交
1 2
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
yma16's avatar
yma16 已提交
3 4 5 6 7 8 9
// vue cdn
import Vue from 'vue'
import axios from 'axios'
import hljs from 'highlight.js'
import * as echarts from 'echarts'
import importElementComponents from './importElement'
import importEchartsComponents from './importEchartsComponents'
10
// 样式cnd
yma16's avatar
yma16 已提交
11 12
import 'github-markdown-css/github-markdown.css'
import 'nprogress/nprogress.css'
13
// 无需cdn
yma16's avatar
yma16 已提交
14
import useRouter from './router'
yma16's avatar
yma16 已提交
15
import VueRouter from 'vue-router'
16
import cookies from 'vue-cookies'
yma16's avatar
yma16 已提交
17
import App from './App'
yma16's avatar
yma16 已提交
18 19
import 'highlight.js/styles/github.css'

yma16's avatar
yma16 已提交
20
const env = process.env.NODE_ENV && false
yma16's avatar
yma16 已提交
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
// 生产环境
if (env === 'production') {
    try {
    // 路由
        const router = useRouter(Vue, VueRouter)

        Vue.config.productionTip = false
        Vue.use(cookies)
        Vue.use(hljs)
        Vue.directive('highlight', function (el) {
            const blocks = el.querySelectorAll('pre code')
            blocks.forEach((block) => {
                hljs.highlightBlock(block)
            })
        })
        // cookie
        Vue.prototype.$cookies = cookies
        // axios
yma16's avatar
yma16 已提交
39
        // Vue.use(axios)
yma16's avatar
yma16 已提交
40 41
        Vue.prototype.$axios = axios
        window.$axios_w = axios
42
        Vue.prototype.$echarts = echarts
yma16's avatar
yma16 已提交
43
        window.$echarts_w = echarts
44

yma16's avatar
yma16 已提交
45
        Vue.prototype.$cookies.set('user_session', 'null')
yma16's avatar
yma16 已提交
46

yma16's avatar
yma16 已提交
47 48 49 50 51 52 53 54 55 56 57 58
        new Vue({
            el: '#app',
            router,
            components: { App },
            template: '<App/>'
        })
    } catch (e) {
        throw Error(e)
    }
} else {
    // 路由
    const router = useRouter(Vue, VueRouter)
yma16's avatar
yma16 已提交
59

yma16's avatar
yma16 已提交
60 61 62 63 64
    // 按需引入elementui
    importElementComponents(Vue)

    // 按需引入echarts
    importEchartsComponents(Vue)
yma16's avatar
yma16 已提交
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

    Vue.config.productionTip = false
    Vue.use(cookies)

    Vue.use(hljs)
    Vue.directive('highlight', function (el) {
        const blocks = el.querySelectorAll('pre code')
        blocks.forEach((block) => {
            hljs.highlightBlock(block)
        })
    })
    // cookie
    Vue.prototype.$cookies = cookies
    // axios
    Vue.use(axios)
    Vue.prototype.$axios = axios
    window.$axios_w = axios
    Vue.prototype.$cookies.set('user_session', 'null')
    new Vue({
        el: '#app',
        router,
        components: { App },
        template: '<App/>'
yma16's avatar
yma16 已提交
88
    })
yma16's avatar
yma16 已提交
89
}