使用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 相关文章推荐
Tinymce+jQuery.Validation使用产生的BUG
Mar 29 Javascript
js获得地址栏?问号后参数的方法
Aug 08 Javascript
JavaScript中prototype为对象添加属性的误区介绍
Oct 15 Javascript
jquery的each方法使用示例分享
Mar 25 Javascript
原生javascript实现简单的datagrid数据表格
Jan 02 Javascript
JavaScript中数据结构与算法(一):栈
Jun 19 Javascript
jQuery中的ajax async同步和异步详解
Sep 29 Javascript
jQuery事件对象总结
Oct 17 Javascript
JS访问DOM节点方法详解
Nov 29 Javascript
一次记住JavaScript的6个正则表达式方法
Feb 22 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
Sep 27 Javascript
vue动态设置页面title的方法实例
Aug 23 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
多文件上传的例子
2006/10/09 PHP
PHP开发中常用的8个小技巧
2008/08/27 PHP
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
php打包压缩文件之ZipArchive方法用法分析
2016/04/30 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
jquery 选项卡效果 新手代码
2011/07/08 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
JavaScript中的数据类型转换方法小结
2015/10/26 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
浅谈sass在vue注意的地方
2017/08/10 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
Python urlopen()函数 示例分享
2014/06/12 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Python中单、双下划线的区别总结
2017/12/01 Python
小米5s微信跳一跳小程序python源码
2018/01/08 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
keras 权重保存和权重载入方式
2020/05/21 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
车间班组长的职责
2013/12/13 职场文书
班组长岗位职责
2014/03/03 职场文书
应届毕业生的自我评价
2019/06/21 职场文书