一份超级详细的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 相关文章推荐
javaScript 数值型和字符串型之间的转换
Jul 25 Javascript
JS 对象介绍
Jan 20 Javascript
js函数的延迟加载实现代码
Oct 11 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
Dec 17 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
Feb 03 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
May 17 Javascript
jQuery实现的分页功能示例
Jan 22 Javascript
vue.js中过滤器的使用教程
Jun 08 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
Nov 10 jQuery
Node.js笔记之process模块解读
May 31 Javascript
微信小程序搭建自己的Https服务器
May 02 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
Jul 24 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
php is_file()和is_dir()用于遍历目录时用法注意事项
2010/03/02 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
PHP使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
javascript 获取图片颜色
2009/04/05 Javascript
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
浅谈Javascript数组(推荐)
2016/05/17 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
2016/11/17 Javascript
angular双向绑定模拟探索
2016/12/26 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
AngularJS执行流程详解
2017/02/17 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
详解Python中break语句的用法
2015/05/14 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
Python 正则表达式匹配字符串中的http链接方法
2018/12/25 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
下载官网python并安装的步骤详解
2019/10/12 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
pymysql模块使用简介与示例
2020/11/17 Python
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
精神文明建设标语
2014/06/16 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
2014年助理工程师工作总结
2014/11/14 职场文书