13. Vue CLI脚手架
一. 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
- 详细了解webpack可以参考文章----vue之webpack打包原理和用法详解
二. 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脚手架的更多相关文章
- vue cli脚手架使用
1.安装nodejs,npm https://www.cnblogs.com/xidianzxm/p/12036880.html 2.安装vue cli sudo npm install -g @vu ...
- 使用Vue CLI脚手架搭建vue项目
本次是使用@vue/cli 3.11.0版本搭建的vue项目 1. 首先确保自己的电脑上的Node.js的版本是8.9版本或者以上 2. 全局安装vue/cli npm install @vue/cl ...
- vue.cli脚手架初次使用图文教程
vue-cli作用 vue-cli作为vue的脚手架,可以帮助我们在实际开发中自动生成vue.js的模板工程. vue-cli使用 !!前提:需要vue和webpack 安装全局vue-cli npm ...
- node.js和vue cli脚手架下载安装配置方法
一.node.js安装以及环境配置 1.下载vue.js 下载地址: https://nodejs.org/en/ 2.安装node.js 下载完成后,双击安装包开始安装.安装地址最好换成自己指定的地 ...
- 关于Vue.cli 脚手架环境中引入Bootstrap时,table表格样式缺失的解决办法
Vue+bootstrap不能正常使用table的样式 环境:下载官网的本地bootstrap包,然后在vue 的index.html引入bootstrap的css和js环境 问题描述:1. vue里 ...
- vue cli 脚手架上多页面开发 支持webpack2.x
A yuri demo for webpack2 vue multiple page.我看到有一些项目多页面项目是基于webapck1.0的,我这个是在webpack2.x上布置修改. 项目地址: ...
- 用 vue cli 脚手架搭建单页面 Vue 应用(进阶2)
1.配置 Node 环境. 自行百度吧. 安装好了之后,打开 cmd .运行 node -v .显示版本号,就是安装成功了. 注:不要安装8.0.0以上的版本,和 vue-cli 不兼容. 我使用的 ...
- vue.js---利用vue cli脚手架工具+webpack创建项目遇到的坑
1.Eslint js代码规范报错 WARNING Compiled with 2 warnings 10:43:26 ✘ http://eslint.org/docs/rules/quotes St ...
- vue cli脚手架项目利用webpack给生产环境和发布环境配置不同的接口地址或者不同的变量值。
废话不多说,直接进入正题,此文以配置不同的接口域名地址为例子 项目根目录下有一个config文件夹,基础项目的话里面至少包括三个文件, 1.dev.env.js 2.index.js 3.prod.e ...
随机推荐
- Codeforces Round #501 (Div. 3) B. Obtaining the String (思维,字符串)
题意:有两个字符串\(S\)和\(T\),判断\(T\)是否能由\(S\)通过交换某位置的相邻字符得到,如果满足,输出交换次数及每次交换的位置,否则输出\(-1\). 题解:首先判断不满足的情况,只有 ...
- div 水平居中 内容居左
<div style="margin:0 auto;width:500px;text-align:left"> </div> https://zhidao. ...
- Kattis amazingadventures Amazing Adventures(费用流路径)题解
题意: 在一个\(100*100\)的方格中,要求从\(b\)走到\(g\),途中经过\(c\)但不经过\(u\),并且不能走已经做过的路.如果可以,就求出路径. 思路: 拆点建费用流,看能不能从\( ...
- HDU 3341 Lost's revenge (AC自动机 + DP + 变进制/hash)题解
题意:给你些分数串,给你一个主串,主串每出现一个分数串加一分,要你重新排列主串,最多几分 思路:显然这里开$40^4$去状压内存不够.但是我们自己想想会发现根本不用开那么大,因为很多状态是废状压,不是 ...
- VuePress config All In One
VuePress config All In One docs/.vuepress/config.js const { title, description, } = require('../../p ...
- Android 如何使用 WebView 加载 HTML 字符串和处理转译字符
Android 如何使用 WebView 加载 HTML 字符串和处理转译字符 css bug 在 WebView 中编译 Web 应用 如果您希望在客户端应用中提供 Web 应用(或只是网页),则可 ...
- WebSocket All In One
WebSocket All In One WebSocket heartbeat WebSocket 心跳检测 ping pong refs xgqfrms 2012-2020 www.cnblogs ...
- React Toolchains
React Toolchains Create React App / component library https://create-react-app.dev/docs/getting-star ...
- how to fetch a group promise api in order with the returned resolved result
how to fetch a group promise api in order with the returned resolved result promise 一组依次请求,generator ...
- js & array & shuffle
js & array & shuffle const list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; list.sort(() => Math.rando ...