系列目录地址
- 一、基础知识概览
- 二、深入了解 Vue
- 第八章 - 组件的基础知识(posted at 2019-01-03)
- 第九章 - 组件基础再探(data、props)(posted at 2019-03-09)
- 第十章 - 组件间的数据通信(posted at 2019-04-01)
- 第十一章 - Vue 中 ref 的使用(posted at 2019-04-29)
- 第十二章 - 使用 Vue Router 实现 Vue 中的前端路由控制(posted at 2019-05-22)
- 第十三章 - Vue Router 基础使用再探(命名路由、命名视图、路由传参)(posted at 2019-06-17)
- 第十四章 - 编程式导航与实现组件与 Vue Router 之间的解耦(posted at 2019-07-03)
- 第十五章 - 传统开发模式下的 axios 使用入门(posted at 2019-07-09)
- 三、项目模板搭建
前言
在之前学习 Vue 基础知识点的文章中,我们还是采用传统的方式,通过在 html 页面上引用 vue.js 这个文件,从而将 Vue 引入到我们的项目开发中。伴随着 Node.js 的出现,以及 React、Angular、Vue 这类的前端 MVVM 框架的发展,前端越来越像后端靠拢,前端工程化的思想开始出现。现在的前端开发,已经不再只是一个 html 页面,上面引用各种 js、css 文件就可以完成开发的了。
与后端类似,前端开始出现各种已经很完善的框架模板、开始出现针对前端组件包的管理工具、各种各样的单元测试库,以及针对前端所特有的 js、css、image...这种静态资源文件的模块打包器。那么,从本篇文章开始,我们就从零开始,结合之前学习的 Vue 相关的基础知识,通过 Vue CLI 和 Element UI 去搭建一个基于 Vue 的 SPA 前端项目框架模板。
仓储地址:Chapter03-Silver Use Vue CLI To Build Vue Project
干货合集
Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统框架,它是一个框架生成脚手架工具,可以帮助我们生成基于 Vue 的前端框架模板,我们可以在这个基础上进行基于 Vue 的前端开发。你可以把它理解为我们 .NET 平台中微软所提供的各种基础的开发框架模板,就像 ASP.NET Core Web API 或者是 ASP.NET Core MVC 这一类的基础框架,我们可以在这个框架模板上进行开发,从而开发出具有统一标准、规范化的项目。
Element UI 则是饿了么基于 Vue.js 所做的一套前端组件库,你可以把它理解成类似于 Boostrap 或是 EasyUI 这种前端的 UI 库基于 Vue 中组件的思想所实现的前端库。通过使用这套组件库,我们就可以更好地统一整个项目的前端样式以及更加方便的进行开发。当然,你也可以采用别的组件库或是自己手写一套。
一、安装
在使用 Vue CLI 之前,我们首先需要安装这个组件包,你可以通过 npm 或是 yarn 的方式进行安装,当然,前提是你需要在你的电脑上安装好 Node.js。整个安装的过程很简单,你可以从我之前写的 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js,搭建前后端分离框架 这篇文章中来查看如何安装 Node.js 和 Vue CLI。
如果你安装已经完成,我们就可以通过命令行或是脚手架自带的项目管理页面去搭建一个属于你的 Vue 前端项目框架模板,这里我就选择命令行的方式进行创建项目。当然,在创建项目前我们需要通过命令来查看组件包的安装是否正确。你可以通过下面的命令去检查安装是否正确,当控制台输出版本信息后,则代表你的组件包已经成功安装了。
vue --version ## 查看安装的 vue cli 版本信息
二、初始化创建
当我们安装完成后,我们就可以通过命令行去创建一个前端项目模板。首先,进入你需要创建项目的路径下,打开终端,然后使用下面的命令来创建我们的项目。因为某些原因,连接 npm 源的速度可能会比较慢,所以在创建项目时,Vue CLI 会提示我们是否将淘宝的镜像源添加 npm 中,从而加快我们访问的速度,你可以自由选择。
# vue create 项目名称
vue create grapefruit.ui
Babel:这是一个 JavaScript 转码器,当我们使用新的语法时,旧版本的浏览器可能就无法支持这种新的语法,通过 Babel,我们就可以添加不同的转换规则,从而就可以自动的将新版本的语法糖转换成传统的 JavaScript 语法。
TypeScript:它提供了一些 JavaScript 不支持的强语言特性,例如,类、接口、参数类型约束等等,它使 JavaScript 写起来更像我们的 C# 或是 Java 这种强类型语言,当然最终还是会编译成 js 文件从而让浏览器识别出。
PWA:渐进式的 Web 应用,主要是利用提供的标准化框架,在网页应用中实现和原生应用相近的用户体验,让用户以为自己正在使用的是原生应用,微信的小程序其实就可以看成是一种 PWA 应用的载体。
Router:这个大家应该很熟悉了,在前面的文章中我们也有介绍过,是 Vue 官方的路由管理组件。
Vuex:一个 Vue.js 中的状态管理模式,这里的状态可以简单理解为数据。因为在使用 Vue 的开发中,我们会编写各种组件,有些时候,多个组件之间需要共享相同的数据,以及,各个组件之间的数据传递也比较复杂,所以我们需要一个集中式的状态管理器从而更好的管理数据,方便组件之间的通信。
CSS Pre-processors:CSS 的预处理器,可以让我们以一种编程的方式来写 CSS 文件,当然最终它们都会被编译器编译成标准 css 文件。
Linter / Foramtter:代码格式检查和格式化工具,主要是为了让我们的项目中写的代码可以更好的采用统一的风格。
Unit Testing / E2E Testing:单元测试工具
当我们选择好需要加载的组件后,就可以继续了。因为我们加载了 Vue Router,所以这里我们需要对前端路由的模式进行设定,这里我们继续使用 history 路由模式。
之后,我们需要选择一个 CSS 的预处理器,根据你自己的使用习惯选择即可。
vue add element
npm install axios
总结
这一章主要是学习如何通过 Vue CLI 3 和 Element UI 去搭建一个基础的前端项目。在下一篇文章中,我将参考文章最后列出的参考文章和 vue-admin-template 这个模板对我们的项目进行调整,从而适应我们自己的开发习惯。
参考
4、手摸手,带你用vue撸后台 系列四(vueAdmin 一个极简的后台基础模板)
占坑
作者:墨墨墨墨小宇
个人简介:96年生人,出生于安徽某四线城市,毕业于Top 10000000 院校。.NET程序员,枪手死忠,喵星人。于2016年12月开始.NET程序员生涯,微软.NET技术的坚定坚持者,立志成为云养猫的少年中面向谷歌编程最厉害的.NET程序员。
个人博客:yuiter.com
博客园博客:www.cnblogs.com/danvic712