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


Posted in Javascript onSeptember 08, 2020

官方链接:https://cli.vuejs.org/zh/guide/installation.html

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+)。你可以使用 nvm 或 nvm-windows在同一台电脑中管理多个 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导航守卫,陷入死循环

官方文档 :https://router.vuejs.org/zh/guide/advanced/navigation-guards.html

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

看了官方文档,直接这样写了。(试了手动清除缓存,再从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操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 获取LI里的内容
Dec 17 Javascript
Javascript 学习书 推荐
Jun 13 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
Mar 04 Javascript
简单的jQuery banner图片轮播实例代码
Mar 04 Javascript
JQuery validate插件验证用户注册信息
May 11 Javascript
JavaScript中Math对象的方法介绍
Jan 05 Javascript
基于BootStrap的文本编辑器组件Summernote
Oct 27 Javascript
原生JS写Ajax的请求函数功能
Dec 22 Javascript
详解layui中的树形关于取值传值问题
Jan 16 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
Apr 08 Javascript
原理深度解析Vue的响应式更新比React快
Apr 04 Javascript
10分钟学会js处理json的常用方法
Dec 06 Javascript
JS删除对象中某一属性案例详解
Sep 08 #Javascript
vue全局使用axios的操作
Sep 08 #Javascript
Vue自定义多选组件使用详解
Sep 08 #Javascript
vue项目中微信登录的实现操作
Sep 08 #Javascript
关于element-ui表单中限制输入纯数字的解决方式
Sep 08 #Javascript
快速解决element的autofocus失效问题
Sep 08 #Javascript
vue axios请求成功却进入catch的原因分析
Sep 08 #Javascript
You might like
PHP伪静态写法附代码
2008/06/20 PHP
Yii rules常用规则示例
2016/03/15 PHP
jQuery随机切换图片的小例子
2013/04/18 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
2015/06/19 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
Angular2 组件间通过@Input @Output通讯示例
2017/08/24 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
详解vue父子组件关于模态框状态的绑定方案
2019/06/05 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
python list中append()与extend()用法分享
2013/03/24 Python
python里对list中的整数求平均并排序
2014/09/12 Python
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
Python实现excel转sqlite的方法
2017/07/17 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
python turtle库画一个方格和圆实例
2019/06/27 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
2020/04/22 Python
Django多数据库联用实现方法解析
2020/11/12 Python
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
Volcom英国官方商店:美国殿堂级滑板、冲浪、滑雪服装品牌
2019/03/13 全球购物
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
Shell编程面试题
2016/05/29 面试题
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
报告会主持词
2014/04/02 职场文书
小学生读书笔记
2015/07/01 职场文书
JavaScript 数组去重详解
2021/09/15 Javascript