一份超级详细的Vue-cli3.0使用教程【推荐】


Posted in Javascript onNovember 15, 2018

主要内容:

  • 零配置启动/打包一个 .vue 文件
  • 详细的搭建过程
  • 重点推荐:使用图形化界面创建/管理/运行项目

安装:

卸载旧版本:

如果你事先已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先卸载它:

npm uninstall vue-cli -g

Node版本要求:

3.x需要在 Node.js 8.9或更高版本(推荐8.11.0+),点击这里可以安装node

大多数人都安装过了node,使用下面的命令行 查询你的node版本 :

node -v

如果你的版本不够,可以使用下面的命令行来把 Node版本更新到最新的稳定版 :

npm install -g n // 安装模块 这个模块是专门用来管理node.js版本的
n stable // 更新你的node版本

mac下,更新版本的时候,如果提示你权限不够:

sudo n stable // 我就遇到了

安装vue-cli:

npm install -g @vue/cli // 安装cli3.x
vue --version // 查询版本是否为3.x

如果cli3.x用的不舒服, cli3也能使用2.x模板 :

npm install -g @vue/cli-init // 安装这个模块
// 就可以使用2.x的模板:vue init webpack my-project

零配置启动/打包一个 .vue 文件:

安装扩展:

npm install -g @vue/cli-service-global

安装完扩展之后,可以随便找个文件夹建一个如下方示例的.vue文件,然后跑起来:

vue serve App.vue // 启动服务
vue build App.vue // 打包出生产环境的包并用来部署

如下图,只需一个.vue文件,就能迅速启动一个服务:

如图所示,服务启动的时候回生成一个 node_modules 包,稍微测试了一下, 服务支持ES6语法和热更新 ,打包的时候会生成一个 dist 文件夹。(新建一个test.vue文件也只有一个 node_modules / dist 文件夹)

这是个很棒的功能,用于 开发一个库、组件,做一些小demo等都是非常适合的 !

一份超级详细的Vue-cli3.0使用教程【推荐】

第一次创建项目:

1. 命令行:

vue create hello-cli3

hello-cli3是文件夹名字,如果不存在会 自动创建文件夹 ,如果存在会安装到那个文件夹中。

相比2.x的时候需要自己手动创建一个文件夹,这里也算是一个小优化吧。

2. 选择模板:

一开始只有两个选项: default (默认配置)和 Manually select features (手动配置)

默认配置只有 babel 和 eslint 其他的都要自己另外再配置,所以我们选第二项手动配置。

在每次选择手动配置之后,会询问你是否保存配置,也就是图片中的 koro 选项,这样以后我们在进行创建项目的时候 只需使用原先的配置 就可以了,而不用再进行配置。

一份超级详细的Vue-cli3.0使用教程【推荐】

3. 选择配置:

根据你的项目需要来选择配置,空格键是选中与取消,A键是全选

? Check the features needed for your project: (Press <space> to select, <a> to toggle all, <i> to invert selection) 
 // 检查项目所需的功能:(按<space>选择,<a>切换所有,<i>反转选择)
 >( ) TypeScript     // 支持使用 TypeScript 书写源码
 ( ) Progressive Web App (PWA) Support  // PWA 支持
 ( ) Router     // 支持 vue-router
 ( ) Vuex     // 支持 vuex
 ( ) CSS Pre-processors    // 支持 CSS 预处理器。
 ( ) Linter / Formatter    // 支持代码风格检查和格式化。
 ( ) Unit Testing    // 支持单元测试。
 ( ) E2E Testing

4. 选择css预处理器:

如果你选择了Css预处理器选项,会让你选择这个

? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default):
 // 选择CSS预处理器(默认支持PostCSS,Autoprefixer和CSS模块):
 > SCSS/SASS
 LESS
 Stylus

5. 是否使用路由的 history 模式:

这里我建议选No,这样打包出来丢到服务器上可以直接使用了,后期要用的话,也可以自己再开起来。

选yes的话需要服务器那边再进行设置。

Use history mode for router? (Requires proper server setup for index fallback in production) 
 // 路由使用history模式?(在生产环境中需要适当的服务器设置以备索引)

6. 选择Eslint代码验证规则:

> ESLint with error prevention only
 ESLint + Airbnb config
 ESLint + Standard config
 ESLint + Prettier

7. 选择什么时候进行代码规则检测:

建议选保存就检测,等到commit的时候,问题可能都已经积累很多了。

之前写了篇 VsCode保存时自动修复Eslint错误 推荐一下。

? Pick additional lint features: (Press <space> to select, <a> to toggle all, <i> to invert selection)
 >( ) Lint on save // 保存就检测
 ( ) Lint and fix on commit // fix和commit时候检查

8. 选择e2e测试:

? Pick a E2E testing solution: (Use arrow keys)
❯ Cypress (Chrome only) 
 Nightwatch (Selenium-based)

9. 把babel,postcss,eslint这些配置文件放哪:

通常我们会选择独立放置,让package.json干净些

? Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? (Use arrow keys)
 > In dedicated config files // 独立文件放置
 In package.json // 放package.json里

10. 是否保存配置:

Save this as a preset for future projects? (Y/n) // 是否记录一下以便下次继续使用这套配置
// 选保存之后,会让你写一个配置的名字:
Save preset as: name // 然后你下次进入配置可以直接使用你这次的配置了

11. 下载依赖

12. webpack配置的目录不见了:

一起来看一下新项目的结构(下图),会发现2.x的webpack配置的目录不见了,也就是没有build、config这两个文件夹了:

这种方式的优势 对小白来说非常友好 ,不会一上来就两个文件夹,一堆文件,看着脑袋都大了。

然后在 引用 抄 别人的配置的时候,也非常方便 ,直接将文件复制过来就好了。

在自定义一下webpack的配置,我们需要在 根目录新建一个 vue.config.js 文件 ,文件中应该导出一个对象,然后进行配置,详情查阅官方文档

// vue.config.js
 module.exports = {
 // 选项...
 }

还有一些小变动像:static文件夹改为public了,router文件夹变成了单个文件之类的(我之前一直这么做,嘿嘿)。

一份超级详细的Vue-cli3.0使用教程【推荐】

13.启动项目:

启动项目:npm run serve // 不是之前的 npm run dev

打开http://localhost:8080:

一份超级详细的Vue-cli3.0使用教程【推荐】

使用图形化界面创建/管理/运行项目:

启动图形化界面

vue ui

这是个全局的命令 在哪个文件夹都可以打开

界面(下图),重要的项目可以收藏起来(置顶):

一份超级详细的Vue-cli3.0使用教程【推荐】

创建项目和导入项目:

目录选中之后,导入项目点击下面的导入就可以了。

一份超级详细的Vue-cli3.0使用教程【推荐】

创建项目,填一个文件夹名字:

一份超级详细的Vue-cli3.0使用教程【推荐】

然后选一下预先保存好的设置就可以了,非常方便,建议采用图形界面来创建项目:

一份超级详细的Vue-cli3.0使用教程【推荐】

项目管理:

当我们点击hello -cli3项目,就会进入项目管理的界面

1. 仪表盘:

  • 这个仪表盘,主要是为了我们操作方便而设置的
  • 可以点击右上角的按钮,来添加/移动这些功能选项。

2. vue-cli3.x插件:

一份超级详细的Vue-cli3.0使用教程【推荐】

vue-cli3的插件功能,详情了解官方文档

一份超级详细的Vue-cli3.0使用教程【推荐】

cli3插件安装的过程:

一份超级详细的Vue-cli3.0使用教程【推荐】

3. 项目依赖

直接在图形界面管理依赖很舒服了!

安装依赖的时候,要记得选择开发依赖/运行依赖!

一份超级详细的Vue-cli3.0使用教程【推荐】

4. 项目配置

可以对cli进行一些配置、Eslint规则修改:

一份超级详细的Vue-cli3.0使用教程【推荐】

5. 任务:

serve 运行项目,点击直接运行,再也不用输入命令了!

可以清楚的看到各个模块用了多久,方便我们针对性的进行优化:

一份超级详细的Vue-cli3.0使用教程【推荐】

build 打包项目:这里主要展示了图表的功能,比以前2.x生成报告更加直观,超级棒!

6. 其他

夜间风格界面,我更喜欢这个界面

直接打开编辑器,很棒了!

一份超级详细的Vue-cli3.0使用教程【推荐】

还有一些乱七八糟的按钮

一份超级详细的Vue-cli3.0使用教程【推荐】

可以说很认真了,希望大家看完能够有些收获,赶紧试试新版的vue-cli吧!

总结

以上所述是小编给大家介绍的一份超级详细的Vue-cli3.0使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js中将字符串转换成json的三种方式
Jan 12 Javascript
JS将制定内容复制到剪切板示例代码
Feb 11 Javascript
iframe如何动态创建及释放其所占内存
Sep 03 Javascript
javascript生成随机数方法汇总
Nov 12 Javascript
实例详解jQuery结合GridView控件的使用方法
Jan 04 Javascript
JavaScript获取IP获取的是IPV6 如何校验
Jun 12 Javascript
详解React中的组件通信问题
Jul 31 Javascript
vue-cli3.0 特性解读
Apr 22 Javascript
js核心基础之构造函数constructor用法实例分析
May 11 Javascript
微信小程序一周时间表功能实现
Oct 17 Javascript
vue和iview实现Scroll 数据无限滚动功能
Oct 31 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
Sep 18 Javascript
Angular事件之不同组件间传递数据的方法
Nov 15 #Javascript
vue 移动端适配方案详解
Nov 15 #Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
Nov 15 #Javascript
vue地址栏直接输入路由无效问题的解决
Nov 15 #Javascript
微信小程序自定义toast弹窗效果的实现代码
Nov 15 #Javascript
搭建基于express框架运行环境的方法步骤
Nov 15 #Javascript
用图片替换checkbox原始样式并实现同样的功能
Nov 15 #Javascript
You might like
sphinx增量索引的一个问题
2011/06/14 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
PHP基于Closure类创建匿名函数的方法详解
2017/08/17 PHP
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
nodejs实现简单的gulp打包
2017/12/21 NodeJs
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
你点的 ES6一些小技巧,请查收
2018/04/25 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
Javascript实现打鼓效果
2021/01/29 Javascript
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
基于python的Paxos算法实现
2019/07/03 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
基于Python爬虫采集天气网实时信息
2020/06/05 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
利用Python函数实现一个万历表完整示例
2021/01/23 Python
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
介绍一下mysql的日期和时间函数
2013/03/28 面试题
小学毕业感言50字
2014/02/16 职场文书
调解协议书
2014/04/16 职场文书
关于护士节的演讲稿
2014/05/26 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
夏洛特的网观后感
2015/06/15 职场文书
催款函范文
2015/06/24 职场文书
python机器学习实现oneR算法(以鸢尾data为例)
2022/03/03 Python