一份超级详细的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 相关文章推荐
greybox——不开新窗口看新的网页
Feb 20 Javascript
第一个JavaScript入门基础 document.write输出
Feb 22 Javascript
js 无提示关闭浏览器页面的代码
Mar 09 Javascript
jquery 单引号和双引号的区别及使用注意
Jul 31 Javascript
将数字转换成大写的人民币表达式的js函数
Sep 21 Javascript
jQuery中append()方法用法实例
Jan 08 Javascript
JavaScript中常见获取元素的方法汇总
Mar 04 Javascript
JS常用字符串方法(推荐)
Jan 15 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
Aug 10 Javascript
Vue实现搜索 和新闻列表功能简单范例
Mar 16 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
vue实现放大镜效果
Sep 17 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 无极分类(递归)实现代码
2010/01/05 PHP
Ajax实现对静态页面的文章访问统计功能示例
2016/10/10 PHP
javascript 进度条 实现代码
2009/07/30 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
2016/08/25 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
python写的一个squid访问日志分析的小程序
2014/09/17 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
Django URL传递参数的方法总结
2016/08/28 Python
Python 编码处理-str与Unicode的区别
2016/09/06 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Python中安装easy_install的方法
2018/11/18 Python
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
工作建议书范文
2014/05/13 职场文书
关于安全的标语
2014/06/10 职场文书
关于教师节的广播稿
2014/09/10 职场文书
长江三峡导游词
2015/01/31 职场文书
水浒传读书笔记
2015/06/25 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书
mysql死锁和分库分表问题详解
2021/04/16 MySQL
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
2021/06/09 Python
java实现对Hadoop的操作
2021/07/01 Java/Android