Vue-cli3.x详解

526 阅读5分钟

安装Vue-cli3

官方说过了 Vue CLI要求Node.js版本8.9或更高版本(建议使用8.11.0+)

中文官方下载地址

如果在你是用了vue-cli2的情况下先要删除2再安装3

卸载2.x版本的vue-cli:

npm uninstall -g vue-cli 或 yarn global remove vue-cli

安装3.x版本的@vue/cli:

npm install -g @vue/cli 或 yarn global add @vue/cli

输入Vue -V检查版本型号

vue2安装(npm i vue-cli -g)

命令变化:

可通过 vue -h 查看
create [options] <app-name> 创建一个由vue-cli-service支持的新项目
invoke <plugin> 在已创建的项目中添加插件
serve [options] [entry] 在开发者模式下以零配置运行一个js或vue文件
build [options] [entry] 在生产模式下以零配置构建一个js或vue文件
init <template> <app-name> 旧api 需要@vue/cli-init // 就是原来的vue-cli init <template> <app-name>

搭建项目

vue create project-name(项目名称)

可以看到创建项目时会有个提示,会判断你对npm/yarn源的连接速度,询问你是否切换至淘宝镜像

路线选择:

默认配置
手动配置
上下箭头选择回车确定

默认路线:

第一个默认配置只会安装babel和eslint,其它的需要自己配置,不建议选,这里我们选择第二个手动配置

手动配置:

***【上下箭头 **选择** 空格 **选中** 选中完成之后回车进行下一步,】***
 ( )Babel 在工程话里面有一些E6的语法有些浏览器不会识别,需要这么一个插件来进行转换
 ( ) TypeScript  JavaScript的一个超集(添加了可选的静态类型和基于类的面向对象编程:类型批注和编译时类型检查、类、接口、模块、lambda 函数)
 ( ) Progressive Web App (PWA) Support          // 渐进式Web应用程序
 ( ) Router                                     // vue-router(vue路由)
 ( ) Vuex                                       // vuex(vue的状态管理模式)
 ( ) CSS Pre-processors                         // CSS 预处理器(如:less、sass)
 ( ) Linter / Formatter                         // 代码风格检查和格式化(如:ESlint)
 ( ) Unit Testing                               // 单元测试(unit tests)
 ( ) E2E Testing                                // e2e(end to end) 测试

路由选择:

首先会让你选择是否使用history router:Vue-Router 利用了浏览器自身的hash 模式和 history 模式的特性来实现前端路由(通过调用浏览器提供的接口)
hash: 浏览器url址栏 中的 # 符号(如这个 URL:http://www.abc.com/#/hello,hash 的值为“ #/hello”),hash 不被包括在 HTTP 请求中(对后端完全没有影响),因此改变 hash 不会重新加载页面

history:利用了 HTML5 History Interface 中新增的 pushState() 和 replaceState() 方法(需要特定浏览器支持)

css预处理器:

SCSS/SASS  //Sass安装需要Ruby环境,是在服务端处理的,SCSS 是 Sass3新语法(完全兼容 CSS3且继承Sass功能)
LESS       //Less最终会通过编译处理输出css到浏览器,Less 既可以在客户端上运行,也可在服务端运行 (借助 Node.js)
Stylus     //Stylus主要用来给Node项目进行CSS预处理支持,Stylus功能上更为强壮,和js联系更加紧密,可创建健壮的、动态的的CSS。

ESLint:提供一个插件化的javascript代码检测工具

  ESLint with error prevention only  //只有错误预防
  ESLint + Airbnb config   //Airbnb 配置
  ESLint + Standard config  //标准配置
  ESLint + Prettier         //使用较多  (漂亮的配置)

何时检测:

( ) Lint on save                    // 保存就检测
( ) Lint and fix on commit          // fix和commit时候检查

如何存放配置:

In dedicated config files // 独立文件放置
In package.json // 放package.json里

是否保存本次配置

Save this as a preset for future projects? (Y/n) // y:记录本次配置,然后需要你起个名; n:不记录本次配置

单元测试 :

? Pick a unit testing solution: (Use arrow keys)
Mocha + Chai  //mocha灵活,只提供简单的测试结构,如果需要其他功能需要添加其他库/插件完成。必须在全局环境中安装
Jest          //安装配置简单,容易上手。内置Istanbul,可以查看到测试覆盖率,相较于Mocha:配置简洁、测试代码简洁、易于和babel集成、内置丰富的expect

安装完成

项目结构目录

node_modules文件

学过vue的都知道这个文件是模块依赖文件目录就不说了

public文件

index.html:入口文件引入对应的CDN/css等等
favicon.ico:就是我们网页的图标,也就是项目图标在这个可以更改

src文件

assets: 用于存放静态文件(js,css,图片,视频),
components: 用于存放组件,
router: router/index.ts用于路由管理,
store: store/index用于Vuex状态管理,
views:src文件夹 新增 views文件夹 用来存放 “页面”,区分 components(组件),
App.vue: 根组件,
main.ts:和main.vue一样
shims-tsx.d.ts:用于识别以Tsx结尾文件,在Vue中可以使用JSX语法,

babel.config.js文件

如果需要设置Babel可以在这个文件设置

package.json文件

用于管理模块,和启动方式

README.md文件

文档使用介绍

tsconfig.json

用于配置Typescript

vue.config.js自行配置文件 ( 目前正在研究,后期更新)

根据需要在根目录下新建 vue.config.js自行配置

也可以参考大神博客<

更多配置详情参见官网

本文章仅以自己防止忘记而记录,不管是我还是其他人,当你看到这篇文章的时候说明你还在从事前端工作,或者在学习前端,所以不管以后遇到什么问题,和挫折,都不要忘记你敲代码的初衷