用vue写项目main.js 中的一些设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用vue写项目main.js 中的一些设置相关的知识,希望对你有一定的参考价值。

import Vue from ‘vue‘;
import $ from ‘webpack-zepto‘;
import VueRouter from ‘vue-router‘;
import filters from ‘./filters‘;
import routes from ‘./routers‘;
import Alert from ‘./libs/alert‘;
import store from ‘./vuex/user‘;
import FastClick from ‘fastclick‘;
Vue.use(VueRouter);
Vue.use(Alert);

  routes ,Vue, VueRouter,store  都是跟vue vuex 和vuerouter 有关的 $是为了进行类似jquery的操作引进的库  FastClick解决移动端点击300ms延迟的问题  直接FastClick.attach(document.body)   alert是当有error时电脑弹出的信息的设置 

const router = new VueRouter({
    mode: ‘history‘,
    routes
})
router.beforeEach((to, from, next) => {
  if (to.matched.some((record) => {
    return record.meta.requiresAuth
  }) {
      if (store.state.userInfo.userId) {
        next()
      } else {
        next({
         path: ‘/login‘,
         query: {redirect: to.fullpath}
        })
       }
    }else {
     next()
    }
})

  router的初始化 mode为history 当路径改变时不会重新加载    router.beforeEach((to, from, next) {})实现的逻辑是 当record.meta.requiresAuth为true时 如果已经登陆 直接next() 

如果没登陆 去登陆页面  为false时直接登陆

// 如果sessionStorage 储存了user 则通过vuex 赋值给userInfo
if (window.sessionStorage.user) {
    store.dispatch(‘setUserInfo‘, JSON.parse(window.sessionStorage.user));
}

  利用sessionStorage存储登陆信息 通过store执行setUserInfo action 分发用户信息  

 

  

















以上是关于用vue写项目main.js 中的一些设置的主要内容,如果未能解决你的问题,请参考以下文章

vue2.0:项目开始,首页入门(main.js,App.vue,importfrom)

vue小知识点总结

关于npm警告fsevents和vue-cli项目中的一些问题,持续更新

将变量从main.js暴露给vue-cli项目中的其他脚本

vue中如何将main.js中数据传给html

vue使用一些外部插件及样式的配置