一. Vue CLI 介绍

1. 什么是Vue CLI?

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统。Vue CLI 致力于将 Vue 生态中的工具基础标准化。它确保了各种构建工具能够基于智能的默认配置即可平稳衔接,这样你可以专注在撰写应用上,而不必花好几天去纠结配置的问题。与此同时,它也为每个工具提供了调整配置的灵活性。

  • CLI的全拼是Command-Line Interface, 命令行界面, 俗称脚手架
  • 它是一个专门为单页面应用快速搭建繁杂的脚手架,可以轻松的创建新的应用程序,而且可用于自动生成vue和webpack的项目模板。
  • 如果开发大型项目, 我们必然需要使用Vue CLI
  • Vue CLI为我们提供了清晰的代码目录结构, 项目结构、部署, 热加载,单元测试等功能。可以提高开发者的工作效率。

2. Vue CLI依赖的环境

  • 依赖NodeJS和NPM:

    • 安装nodeJS, 默认会安装NPM, NodeJs的版本通常要在8.9以上。
    • NPM的全称是: Node Package manager 。node包的管理和分发工具
    • 国内npm有时很慢, 可以安装cpnm镜像, 这是一个淘宝npm镜像。
    使用淘宝定制的cnpm命令行工具替代默认的npm工具
    npm install -g cnpm --registry=https://registry.npm.taobao.org

    这样就可以使用cnpm来安装模块了

    使用淘宝定制的cnpm命令行工具替代默认的npm工具
    npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 依赖webpack

    • Vue.js官方脚手架工具使用了webpack模板, 对所有资源进行了压缩优化,在开发过程中提供了一套完整的功能, 提高开发效率
    • webpack的全局安装
    npm install webpack -g

二. Vue CLI 脚手架安装

第一步: 安装NodeJs

官网下载nodejs: https://nodejs.org/en/

然后解压安装, 查看nodejs的版本

node -v

第二步: 安装全局webpack

webpack有全局安装和局部安装. 全局安装是所有服务共有. 局部安装是对某个项目单独安装webpack的版本. 全局webpaack和局部webpack版本可以不一样

npm install webpack -g

第三步: 安装局部本地webpack

安装局部webpack

npm install webpack --save-dev

第四步:安装Vue Cli 脚手架

这里需要说名Vue CLI版本的问题. 现在在用的Vue CLI的版本有2, 3, 4. 他们到底有什么区别呢?

vue2和vue3的差别很大, vue3和vue4的差别较小.下面详细说说他们的区别

1. vue2, vue3, vue4的区别

  • 安装, 卸载

    vue-cli2
全局安装:npm install -g vue-cli 或 cnpm install -g vue-cli
卸载:npm uninstall -g vue-cli 或 cnpm uninstall -g vue-cli

vue-cli3 和vue-cli4

全局安装:npm install -g @vue/cli@版本号 或 cnpm install -g @vue/cli@版本号
卸载:npm uninstall -g @vue/cli@版本号 或 cnpm uninstall -g @vue/cli@版本号

可以使用@指定版本号, 如果不指定版本号, 默认下载的是4的版本

  • 项目创建

    vue-cli2:
vue init webpack demo

vue-cli3和vue-cli4

vue create demo
  • 项目结构

    vue-cli2:

vue-cli3和vue-cli4:

  • 项目启动

    vue-cli2:
npm run dev

vue-cli3和vue-cli4

npm run serve

以上区别都是宏观表现上的不同, 具体到代码级别, 我们会后面继续说

因为现在vue2,3,4都有使用, 所以, 我们学的时候都会学习.

2 安装vue脚手架

vue-cli官网: https://cli.vuejs.org/,

执行安装命令:

npm install -g @vue/cli

查看安装的版本

vue -V 或者 vue --version

b)安装旧版本的vue

使用旧版本的 vue init 功能, 可以全局安装一个桥接工具

npm install -g @vue/cli-init

然后, 在执行

三、Vue CLI脚手架搭建项目

我们安装的时候, 安装vue4, 但我们的项目可能是老版本的项目. 或者我们想要创建老版本的项目. 我们可以在安装一个vue的桥接工具.

1. 搭建vue2的项目.

下面, 我们想要创建一个vue2的项目,

首先: 安装vue的桥接工具.

npm install -g @vue/cli-init

现在就可以创建vue2的项目了.

接下来创建项目

vue init webpack my-project

首次创建项目, 会去下载component组件. 这个下载过程很慢, 我们可以采用离线下载cli-component的方式.

2. 离线安装vue-cli

通过vue-cli工具命令vue init webpack vuedemo创建vue项目的时候报错,提示连接超时

 vue-cli · Failed to download repo vuejs-templates/webpack: connect ETIMEDOUT 192.30.253.112:443

解决办法有两个

a. 使用cnpm. 安装一个淘宝镜像
b. 下载离线组件包, 然后离线安装

这里重点说一下第二个方案:

第一步: github下载vue-cli component

https://github.com/vuejs-templates/webpack

如果打开github很慢, 可以试用github加速器打开

https://toolwa.com/github/

第二步: 下载之后的压缩包为webpack-版本号.zip,我们解压之后,需要更改目录名为webpack

然后在用户目录下创建一个文件夹: .vue-templates, 注意ve-templates前面的点(.)

我们再进行vue init webpack vuedemo命令的时候,需要带上参数--offline表示离线初始化

vue init webpack vuecli2 --offline

然后会提示有很多选项, 根据需要选择.

第三步: 然后运行命令启动项目即可.

npm run dev

看到下面的页面就成功了

四. vue脚手架安装时的含义及项目结构

1. vue脚手架安装时各项的含义

我们安装vue-cli脚手架的时候会有很选项, 那这些选项应该如何选择呢?如果我们知道他们是什么含义,就知道该怎么选择了.下面就来说说每一项是什么含义

1. Project name: 输入项目的名称

2. Project description: 项目描述

3. Author: 作者姓名,邮箱. 这里是来源于我们设置的全局的git用户名和邮箱

4. Vue build: 构建方式. 构建方式有两种,如下所示:

  • runtime + compiler: 推荐大多数用户选择这种方式
  • vue脚手架安装时的含义: 这个比runtime+compiler的方式更轻量, 但是只允许在.vue结尾的文件中使用模板

初步看来, 好像我们开发环境应该选择runtime+compiler, 生产环境使用Runtime-only更合适. 那具体如何呢? 后面我们来验证一下:



在template这行最后面多了一个逗号, 系统编译出错

5. Install vue-router: 是否安装vue-router

这里我选择的否, 因为刚开始用不到, 用到的时候, 我再加上

6. Use ESLint to lint your code: 是否对你的代码使用ESLint规范

这个含义是: 如果我们对代码使用了es规范, 那么如果不符合规范,在编译的时候就会报错. 这里可以选择, 也可以不选择, 刚开始学习,我们可以先不使用.

用和不用的效果:当代码中有不规范的内容时,就会报错. 比如在行尾加;

手动开启|关闭ESlint

修改index.js总配置文件, 修改参数useEslint来控制是否开启Eslint代码校验

useEslint: true,

7. Pick on ESLint preset: 选择使用eslint的标准

也就是格式化代码的标准. 有三种选择, 通常我们都选择Standard

8. Set up unit tests: 是否使用单元测试

刚开始我们不需要单元测试, 所以选择no

9. Setup e2e tests with Nightwatch: 是否设置端到端测试?

我们刚开始也不需要, 所以设置为no

10. Should we run npm install for you: 使用什么命令. 有三种选择



通常我们选择第一种npm


13. Vue CLI脚手架的更多相关文章

  1. vue cli脚手架使用

    1.安装nodejs,npm https://www.cnblogs.com/xidianzxm/p/12036880.html 2.安装vue cli sudo npm install -g @vu ...

  2. 使用Vue CLI脚手架搭建vue项目

    本次是使用@vue/cli 3.11.0版本搭建的vue项目 1. 首先确保自己的电脑上的Node.js的版本是8.9版本或者以上 2. 全局安装vue/cli npm install @vue/cl ...

  3. vue.cli脚手架初次使用图文教程

    vue-cli作用 vue-cli作为vue的脚手架,可以帮助我们在实际开发中自动生成vue.js的模板工程. vue-cli使用 !!前提:需要vue和webpack 安装全局vue-cli npm ...

  4. node.js和vue cli脚手架下载安装配置方法

    一.node.js安装以及环境配置 1.下载vue.js 下载地址: https://nodejs.org/en/ 2.安装node.js 下载完成后,双击安装包开始安装.安装地址最好换成自己指定的地 ...

  5. 关于Vue.cli 脚手架环境中引入Bootstrap时,table表格样式缺失的解决办法

    Vue+bootstrap不能正常使用table的样式 环境:下载官网的本地bootstrap包,然后在vue 的index.html引入bootstrap的css和js环境 问题描述:1. vue里 ...

  6. vue cli 脚手架上多页面开发 支持webpack2.x

    A yuri demo for webpack2 vue multiple page.我看到有一些项目多页面项目是基于webapck1.0的,我这个是在webpack2.x上布置修改.  项目地址:  ...

  7. 用 vue cli 脚手架搭建单页面 Vue 应用(进阶2)

    1.配置 Node 环境. 自行百度吧. 安装好了之后,打开 cmd .运行 node -v .显示版本号,就是安装成功了. 注:不要安装8.0.0以上的版本,和 vue-cli 不兼容. 我使用的 ...

  8. vue.js---利用vue cli脚手架工具+webpack创建项目遇到的坑

    1.Eslint js代码规范报错 WARNING Compiled with 2 warnings 10:43:26 ✘ http://eslint.org/docs/rules/quotes St ...

  9. vue cli脚手架项目利用webpack给生产环境和发布环境配置不同的接口地址或者不同的变量值。

    废话不多说,直接进入正题,此文以配置不同的接口域名地址为例子 项目根目录下有一个config文件夹,基础项目的话里面至少包括三个文件, 1.dev.env.js 2.index.js 3.prod.e ...

随机推荐

  1. Codeforces Round #544 (Div. 3) E. K Balanced Teams (DP)

    题意:有\(n\)个人,每个人的能力值是\(a_i\),现在你想将这些人分成\(k\)组(没必要全选),但是每组中最高水平和最低水平的人的能力差值必须\(\le 5\),问最多能选多少人. 题解:想了 ...

  2. Atcoder ABC162 D - RGB Triplets

    传送门:D - RGB Triplets  题意:给你一个只含'R','G','B'的字符串,求有多少个长度为3且每个字符都不相等,并且第一第二和第二第三的区间长度不同的子序列. 题解:统计每个字符各 ...

  3. js中for循环遍历的写法

    众所周知,for循环是编程中必不可少的知识点:那么如何高效的写出循环呢? 我们要先知道for循环的基础样式是由自有变量自增自减和if判组成的: 1 for(条件){ 2 执行语句 3 } 而for循环 ...

  4. L3-015. 球队“食物链”【DFS + 剪枝】

    L3-015. 球队"食物链" 时间限制 1000 ms 内存限制 262144 kB 代码长度限制 8000 B 判题程序 Standard 作者 李文新(北京大学) 某国的足球 ...

  5. 关于string类中find函数的讲解

    以下所讲的所有的string查找函数,都有唯一的返回类型,那就是size_type,即一个无符号整数(按打印出来的算).若查找成功,返回按查找规则找到的第一个字符或子串的位置:若查找失败,返回npos ...

  6. 牛客多校第九场 && ZOJ3774 The power of Fibonacci(二次剩余定理+斐波那契数列通项/循环节)题解

    题意1.1: 求\(\sum_{i=1}^n Fib^m\mod 1e9+9\),\(n\in[1, 1e9], m\in[1, 1e4]\) 思路1.1 我们首先需要知道斐波那契数列的通项是:\(F ...

  7. codevs1068乌龟棋-四维DP,五维如何缩减一维

    我们从起点x开始暴力枚举所有决策 于是可以得到如下转移 void dfs(int x,int A,int B,int C,int D,int y) { if (x==n) {ans=max(ans,y ...

  8. 翻译:《实用的Python编程》01_05_Lists

    目录 | 上一节 (1.4 字符串) | 下一节 (1.6 文件) 1.5 列表 本节介绍 Python 原始数据类型列表(list). 列表是一种有序的集合. 创建列表 使用方括号 [] 来定义列表 ...

  9. React Hooks: useDebugValue All In One

    React Hooks: useDebugValue All In One useDebugValue https://reactjs.org/docs/hooks-reference.html#us ...

  10. 图解 H5 与 WebView 数据通信原理

    图解 H5 与 WebView 数据通信原理 Android / iOS / RN / Flutter H5 接受数据 自定义 schema H5 调用原生 API 拍照,扫码 原生 调用 H5 AP ...