学习本篇之前要具备一定的vue基础知识,可以先看一下Vue基础(环境配置、内部指令、全局API、选项、内置组件)
1、Vue-cli
Vue-cli是vue官方出品的快速构建单页应用的脚手架,这里牵扯的东西很多,有webpack,npm,nodejs,babel等等。
官网:https://cli.vuejs.org/guide/
GitHub:https://github.com/vuejs/vue-cli
1.1、安装vue-cli
首先要安装 npm , npm 的安装在基础视频中有。npm没有问题,接下来我们可以用npm 命令安装vue-cli了,在命令行输入下面的命令:
npm install -g @vue/cli
//卸载 npm uninstall -g @vue/cli
-g :代表全局安装。如果你安装时报错,一般是网络问题,你可以尝试用cnpm来进行安装。安装完成后,可以用vue
-V :来进行查看 vue-cli的版本号。注意这里的V是大写的。我这里版本号是3.4.1
PS G:\Demos\VUE\VUECLI> vue --version
3.4.1
如果vue -V的命令管用了,说明已经顺利的把vue-cli安装到我们的计算机里了。
如果想使用2.X版本的命令来创建项目,则可以执行以下命令
npm install -g @vue/cli-init
# `vue init` 的运行效果将会跟 `[email protected]` 相同
1.2、初始化项目
我们用 vue init 命令来初始化项目,具体看一下这条命令的使用方法。
vue init
init :表示我要用vue-cli来初始化项目
:表示模板名称,vue-cli官方为我们提供了5种模板
:标识项目名称,这个你可以根据自己的项目来起名字。
webpack-一个全面的webpack+vue-loader的模板,功能包括热加载,linting,检测和CSS扩展。
webpack-simple-一个简单webpack+vue-loader的模板,不包含其他功能,让你快速的搭建vue的开发环境。
browserify-一个全面的Browserify+vueify 的模板,功能包括热加载,linting,单元检测。
browserify-simple-一个简单Browserify+vueify的模板,不包含其他功能,让你快速的搭建vue的开发环境。
simple-一个最简单的单页应用模板。
在实际开发中,一般我们都会使用webpack这个模板,那我们这里也安装这个模板,在命令行输入以下命令:
vue init webpack vuecliTest
输入命令后,会询问我们几个简单的选项,我们根据自己的需要进行填写就可以了。
Project name :项目名称 ,如果不需要更改直接回车就可以了。注意:这里不能使用大写,所以我把名称改成了vueclitest
Project description:项目描述,默认为A Vue.js project,直接回车,不用编写。
Author:作者,如果你有配置git的作者,他会读取。
Install vue-router? 是否安装vue的路由插件,我们这里需要安装,所以选择Y
Use ESLint to lint your code? 是否用ESLint来限制你的代码错误和风格。我们这里不需要输入n,如果你是大型团队开发,最好是进行配置。
setup unit tests with Karma + Mocha? 是否需要安装单元测试工具**Karma+Mocha,**我们这里不需要,所以输入n。
**Setup e2e tests with Nightwatch?**是否安装e2e来进行用户行为模拟测试,我们这里不需要,所以输入n。
这里我们创建一个名为vuecliTest的项目
命令行出现上面的文字,说明我们已经初始化好了第一步。命令行提示我们现在可以作的三件事情。
cd vuecliTest
进入我们的vue项目目录。
npm install
安装我们的项目依赖包,也就是安装package.json里的包,如果你网速不好,你也可以使用cnpm来安装。
npm run dev
开发模式下运行我们的程序。给我们自动构建了开发用的服务器环境和在浏览器中打开,并实时监视我们的代码更改,即时呈现给我们。
这时候我们运行我们创建的 vuecliTest 项目
我们可以通过 http://localhost:8080/
或者 http://192.168.56.1:8080/
访问我们的创建的项目
vue-cli脚手架工具就是为我们搭建了开发所需要的环境,为我们省去了很多精力。有必要对这个环境进行熟悉,我们就从项目的结构讲起。
//Ps:由于版本实时更新和你选择安装的不同(这里列出的是模板为webpack的目录结构),所以你看到的有可能和下边的有所差别。
.
|-- build
// 项目构建(webpack)相关代码
| |-- build.js
// 生产环境构建代码
| |-- check-version.js
// 检查node、npm等版本
| |-- dev-client.js
// 热重载相关
| |-- dev-server.js
// 构建本地服务器
| |-- utils.js
// 构建工具相关
| |-- webpack.base.conf.js
// webpack基础配置
| |-- webpack.dev.conf.js
// webpack开发环境配置
| |-- webpack.prod.conf.js
// webpack生产环境配置
|-- config
// 项目开发环境配置
| |-- dev.env.js
// 开发环境变量
| |-- index.js
// 项目一些配置变量
| |-- prod.env.js
// 生产环境变量
| |-- test.env.js
// 测试环境变量
|-- node_modules
// 项目开用到的包(可忽略)
|-- src
// 源码目录
| |-- components
// vue公共组件
| |-- store
// vuex的状态管理
| |-- App.vue
// 页面入口文件
| |-- main.js
// 程序入口文件,加载各种公共组件
|-- static
// 静态文件,比如一些图片,json数据等
| |-- data
// 群聊分析得到的数据用于数据可视化
|-- .babelrc
// ES6语法编译配置
|-- .editorconfig
// 定义代码格式
|-- .gitignore
// git上传需要忽略的文件格式
|-- README.md
// 项目说明
|-- favicon.ico
|-- index.html
// 入口页面
|-- package.json
// 项目基本信息
.