使用vue-cli4.0快速搭建一个项目的方法步骤


Posted in Javascript onDecember 04, 2019

前言

最近公司的项目终于到了空闲期,而闲不住的我终于把目标放到了项目的迁移上面

因为公司的项目比较早的原因(虽然当时vue-cli也出来了一段时间,但是不敢轻易尝试啊!)

所以使用的环境还是 vue2.x 版本的,而又因为公司的前端项目都是我来搭建的原因(并不是技术大佬,入职早!)

所以所有项目开发的时候一直在用的 vue-cli2.0,后来项目多了也没时间就没往 vue-cli3.0 迁移

现在终于到了空闲期,可以尝试着慢慢迁移了

本篇文章就是主要记录迁移的过程和 vue-cli3.0 的搭建过程

一、升级本地环境

因为 vue-cli3.0 要 nodeJs ? 8.9(官方推荐 8.11.0+),所以我们先去 官网下载 一个稳定的新版本覆盖本地版本

我安装的是 node12.13.0 版本,因为之前我本地全局安装了 2.0 的环境,所以需要全局卸载再安装 3.0

npm uninstall -g vue-cli
 
npm install -g @vue/cli

安装好了之后输入 vue -V 查看版本

使用vue-cli4.0快速搭建一个项目的方法步骤

我我我草!!!最近只顾着看技术了,没发现10月16日官方已经宣布 vue-cli4.0 已经正式发布了!!!

有没有搞错,我 vue-cli3.0 还没来得及用上呢!还好看了下文档,除了跟 vue-cli3.0 的目录有点变化其他没变。

那就直接开始搞 vue-cli4.0 吧!

二、搭建项目

vue-cli3.0 以后项目创建的命令变成了下面这样

vue create <Project Name> //文件名 不支持驼峰(含大写字母)

竟然还被嫌弃了我的网速,我还就不用 cnpm 了!

使用vue-cli4.0快速搭建一个项目的方法步骤

选择不使用淘宝镜像后,选择手动配置

default 是使用默认配置

Manually select features 是自定义配置

使用vue-cli4.0快速搭建一个项目的方法步骤

我的自定义配置如下

使用vue-cli4.0快速搭建一个项目的方法步骤

选择是否使用路由 history router,其实直白来说就是是否路径带 # 号,建议选择 N,否则服务器还要进行配置

使用vue-cli4.0快速搭建一个项目的方法步骤

css 的预处理器我选择的是 Sass/SCSS(with dart-sass) 。node-sass是自动编译实时的,dart-sass需要保存后才会生效

sass 官方目前主力推 dart-sass 最新的特性都会在这个上面先实现

使用vue-cli4.0快速搭建一个项目的方法步骤

选择 ESLint 代码校验规则,提供一个插件化的javascript代码检测工具,ESLint + Prettier 使用较多

使用vue-cli4.0快速搭建一个项目的方法步骤

然后选择什么时候进行代码校验,Lint on save 保存就检查,Lint and fix on commit fix 或者 commit 的时候检查,建议第一个

使用vue-cli4.0快速搭建一个项目的方法步骤

下面就是如何存放配置了,In dedicated config files 存放到独立文件中,In package.json 存放到 package.json 中

本着项目结构简单的想法,我选择了第二个

使用vue-cli4.0快速搭建一个项目的方法步骤

最后就是是否保存本次的配置了,N 不记录,如果选择 Y 需要输入保存名字

我这里就不保存了,原因是熟能生巧!哈哈哈

使用vue-cli4.0快速搭建一个项目的方法步骤

然后就等待创建项目吧

使用vue-cli4.0快速搭建一个项目的方法步骤

出现如图红框所示的提示,就搭建成功,进入项目目录,直接输入 npm run serve 就可以了

使用vue-cli4.0快速搭建一个项目的方法步骤

你以为这样就完了吗?我也是这样认为的,可它不是这样的!

使用vue-cli4.0快速搭建一个项目的方法步骤

很明显,虽然项目能够正常启动,但是我的 nodeJs 版本用的太高了,然后我给回退到了 11.11.0 版本

虽然没影响太大的影响,但是我不想看见 WARN!回退之后,重新跑项目就不会有问题了。

使用vue-cli4.0快速搭建一个项目的方法步骤

三、环境配置

下面就是关于项目的环境配置了,我这边一般喜欢用 test、preview、production分别表示测试,预览,生产三种环境

修改 package.json 文件如下

"scripts": {
  "serve": "vue-cli-service serve",
  "test": "vue-cli-service build --mode test",      //测试
  "preview": "vue-cli-service build --mode preview",   //预览
  "build": "vue-cli-service build --mode production",  //生产
  "lint": "vue-cli-service lint"
},

在项目根目录下新建 .env.test、.env.preview、 .env.production 文件,分别对应三个环境的配置文件,注意,名字要与 --mode 后面的名字分别对应

.env.test 代码如下

NODE_ENV="test"
VUE_APP_BASE_URL="测试环境域名"

.env.pre 代码如下

NODE_ENV="preview"
VUE_APP_BASE_URL="预览环境域名"

.env.prod 代码如下

NODE_ENV="production"
VUE_APP_BASE_URL="生产环境域名"

ok,这样环境就配置好了,分别用以下命令来打包不同环境的包就可以了

npm run test  //测试
npm run pre   //预发布
npm run prod  //生产

另外需要说明一点的是,本地环境会默认从 .env.development 文件中读取配置

所以记得有需要记得新建一个然后存放配置

我的 .env.development 代码如下

NODE_ENV="development"
VUE_APP_BASE_URL="本地环境域名"

四、项目配置

从 vue-cli3.0 开始 build 和 config 目录就取消了,如果需要修改配置,可以在项目的根目录新建一个 vue.config.js 文件来覆盖项目的配置,因为项目的配置比较多,这里就不分别介绍了,可以 访问官方文档

五、项目迁移

剩下的就是比较简单的工作了,因为 2.0/3.0/4.0 的src目录是基本一致的,所以照着原来的项目搬进来就可以了

唯一需要注意的就是路径的问题了

结束语

本来,这个文章真的是为了从 2.0 迁移到 3.0 的,没想到 4.0 都发布了,那刚好迁移到 4.0 得了

文章标题我会修改为 4.0,但是文章内可能还会有 3.0 我就不修改了

一是证明我的最初想法,二是感慨前端的发展速度!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery tools之tabs 选项卡/页签
Jul 25 Javascript
jquery实现pager控件示例
Apr 09 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
Jun 14 Javascript
JavaScript开发人员的10个关键习惯小结
Dec 05 Javascript
JavaScript中length属性的使用方法
Jun 05 Javascript
js实现的动画导航菜单效果代码
Sep 10 Javascript
简单对比分析JavaScript中的apply,call与this的使用
Dec 04 Javascript
JS全局变量和局部变量最新解析
Jun 24 Javascript
微信小程序 图片加载(本地,网路)实例详解
Mar 10 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
Mar 11 Javascript
Three.js获取鼠标点击的三维坐标示例代码
Mar 24 Javascript
js 实现watch监听数据变化的代码
Oct 13 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
Dec 04 #Javascript
jQuery实现全选、反选和不选功能的方法详解
Dec 04 #jQuery
JavaScript中如何对多维数组(矩阵)去重的实现
Dec 04 #Javascript
Vue实现base64编码图片间的切换功能
Dec 04 #Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
Dec 04 #Javascript
Vue实现图片与文字混输效果
Dec 04 #Javascript
环形加载进度条封装(Vue插件版和原生js版)
Dec 04 #Javascript
You might like
php基础知识:类与对象(5) static
2006/12/13 PHP
php中的静态变量的基本用法
2014/03/20 PHP
PHP生成二维码的两个方法和实例
2014/07/01 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
短信提示使用 特效
2007/01/19 Javascript
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
jquery 图片轮换效果
2010/07/29 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
jQuery上传插件webupload使用方法
2017/08/01 jQuery
javascript闭包的使用之按钮切换功能
2018/08/30 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
详解使用JWT实现单点登录(完全跨域方案)
2019/08/02 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
python下os模块强大的重命名方法renames详解
2017/03/07 Python
python 专题九 Mysql数据库编程基础知识
2017/03/16 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
Python 实现文件读写、坐标寻址、查找替换功能
2019/09/11 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
Python运行DLL文件的方法
2020/01/17 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
优秀学生党员先进事迹材料
2014/05/29 职场文书
交通安全责任书范本
2014/07/24 职场文书
九一八事变演讲稿
2014/09/05 职场文书
公证委托书格式
2014/09/13 职场文书
介绍长城的导游词
2015/01/30 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
委托书范本格式
2019/04/18 职场文书