欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作

程序员文章站 2022-04-12 18:59:43
官方链接:1.安装vue cli3 关于旧版本vue cli 的包名称由 vue-cli 改成了 @vue/cli。 如果你已经全局安装了旧版本的 vue-cli(1.x 或 2.x),你需要先通过...

官方链接:

1.安装vue cli3

关于旧版本

vue cli 的包名称由 vue-cli 改成了 @vue/cli。 如果你已经全局安装了旧版本的 vue-cli(1.x 或 2.x),你需要先通过 npm uninstall vue-cli -g 或 yarn global remove vue-cli 卸载它。

node 版本要求

vue cli 需要 node.js 8.9 或更高版本 (推荐 8.11.0+)。你可以使用 或 在同一台电脑中管理多个 node 版本。

可以使用下列任一命令安装这个新的包:

npm install -g @vue/cli
# or
yarn global add @vue/cli

安装之后,你就可以在命令行中访问 vue 命令。你可以通过简单运行 vue,看看是否展示出了一份所有可用命令的帮助信息,来验证它是否安装成功。

你还可以用这个命令来检查其版本是否正确 (3.x):

vue --version

2.安装完vue cli3 之后,还想用vue-cli2.x 版本

vue cli 3 和旧版使用了相同的 vue 命令,所以 vue cli 2 (vue-cli) 被覆盖了。如果你仍然需要使用旧版本的 vue init 功能,你可以全局安装一个桥接工具:

npm install -g @vue/cli-init
//安装完后 就还可以使用 vue init 命令
vue init webpack my_project

补充知识:vue 之vue-router router.beforeeach导航守卫,陷入死循环

官方文档 :

判断浏览器缓存是否有用户的信息,没有的话跳转登录页。

看了官方文档,直接这样写了。(试了手动清除缓存,再从url里面跳登录页,直接陷入了死循环)

router.beforeeach((to,from,next)=>{
 if(sessionstorage.getitem('logindata')){
  toast('跳转成功');
  next();
 }else {
  //没有登录,去跳转登录页
  next({
   path:'/login'
  });
 }
});

原因是由于 next('/login')是自己指定路径的,路由跳转的时候还执行一遍beforeeach导航钩子,所以上面出现死循环;

再加个判断就ok了

router.beforeeach((to,from,next)=>{
 // console.log(to);
 // console.log(from);
 if(sessionstorage.getitem('logindata')){
  toast('跳转成功');
  next();
 }else {
  //没有登录,去跳转登录页
  if(to.path === '/login'){
   next();
  }else {
   next({
    path:'/login'
   });
  }
 }
});

以上这篇全局安装 vue cli3 和 继续使用 vue-cli2.x操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。