全局安装 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 检测浏览器和操作系统的脚本
Dec 26 Javascript
js jquery验证银行卡号信息正则学习
Jan 21 Javascript
node.js中的fs.truncate方法使用说明
Dec 15 Javascript
JavaScript中操作Mysql数据库实例
Apr 02 Javascript
JavaScript实现输入框与清空按钮联动效果
Sep 09 Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
Feb 24 Javascript
利用node.js如何创建子进程详解
Dec 09 Javascript
react-router browserHistory刷新页面404问题解决方法
Dec 29 Javascript
从parcel.js打包出错到选择nvm的全部过程
Jan 23 Javascript
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
JS数组Object.keys()方法的使用示例
Jun 05 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中上传大体积文件时需要的设置
2006/10/09 PHP
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
php中的一个中文字符串截取函数
2007/02/14 PHP
收藏的一个php小偷的核心程序
2007/04/09 PHP
php与paypal整合方法
2010/11/28 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
2011/07/01 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
基于PHP文件操作的详解
2013/06/05 PHP
curl和libcurl的区别简介
2015/07/01 PHP
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
JS request函数 用来获取url参数
2010/05/17 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
2016/01/19 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
Bootstrap select实现下拉框多选效果
2016/12/23 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
Jquery获取radio选中的值
2017/05/05 jQuery
Bootstrap Table使用整理(三)
2017/06/09 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
JavaScript实现密码强度实时验证
2020/03/18 Javascript
JavaScript实现刮刮乐效果
2020/11/01 Javascript
Python中如何获取类属性的列表
2016/12/26 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
Django权限设置及验证方式
2020/05/13 Python
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
计算机专业自荐信范文
2015/03/26 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python