本文是一篇实践文,详细记录移动端vue项目构建全过程,其中包括webpack、vue-router、axios、eslint、scss等的相关配置。
github地址:https://github.com/sunhuili/v...css
这里用的node是8.9.3版本,以前8.1的版本会有点问题,建议升级到最新可用版本。cnpm跟npm功能同样,npm装不了的包,能够用cnpm。html
npm install vue-cli -g
vue init webpack xxx
(xxx为项目名)npm install
),安装时间有点久,耐心等待……f>出现以下图就安装好了,到项目文件夹下npm run dev
,打开浏览器输入对应路由就能够看到本身的网站了。vue
cnpm install --save-dev eslint eslint-plugin-vue
,传送门 关于自定义规则
在刚刚引用eslint-plugin-vue的文件中有个rules,在这里就能够添加咱们自定义的规范。具体的规范设置:eslint中文。node
cnpm install --save-dev node-sass
、sass-loadercnpm install --save-dev sass-loader
。cnpm install
(由于包的安装顺序会有影响,因此先把须要的包保存到package.json,而后让他自动安装一遍)cnpm install --save vuex
a> strict严格模式,有利于代码规范和数据管理
b> modules能够加入子模块,建议尽可能把数据存在子模块中,主入口保持干净,只作配置用。子模块的配置统一在‘文件层级’一节中将,这里只作初步配置。webpack
cnpm install --save 'axios'
a>全局配置包括请求时长限制、后端接口处理文件路径、请求头配置等
b>请求拦截:发请求前进行一些处理
若请求配置成功,则对post请求参数作序列化处理,而后发请求
若请求配置不成功,则不发请求
c>响应拦截:接收后端响应前进行一些处理
若成功,则表示限定时间内收到了后端响应,即“响应成功”,返回resolve(response.data)。
若失败,则表示限定时间内没有收到后端响应,即“响应失败”,返回reject(error)。
d>针对响应成功,还有请求成功和请求失败之分,这个由先后端约定执行,在api的配置中实现,这里只配置axios相关。ios
至此,构建项目的相关配置和依赖包已基本安装配置完毕,其余的配置按需自取。接下来开始搭建项目,使用当前配置进行移动端web开发git
首先先看一下当前的目录结构和package.json(只截取依赖包部分,部分构建项目时自动安装的依赖包没有截取到),由于接下来将在现有配置的基础上开发移动端项目,重点在于文件层级结构的搭建。github
a>_reset.scss为移动端样式(网上直接能够搜到),在App.vue中引入该文件;
b>在index.html中配置好各类移动端meta属性,而后设置html、body、#app高为100%;
c>main.js中引入移动端flexible布局,能够以iphone为基准:375的宽度1rem=20px。
d>_variable.scss为全局样式参数配置,如主题色$theme-color-black: #333333;
等web
首先明确两点
一、vue-router、vuex、scss的文件层级跟着组件的文件层级走。
二、组件的文件层级依照项目的功能模块划分。
在此基础上咱们能够创建以下文件层级结构,尽可能让根目录足够干净,文件尽可能收录在对应的具体模块文件夹中。
这样可让文件层次够清晰,方便直接找到功能配置和具体业务代码,这对以后的维护影响仍是很大的。vue-router
咱们能够初步把组件分为三类:根组件、页面组件、其余组件:
本文详细介绍了移动端vue项目构建全过程,方便新手体验完整流程,具体页面搭建就是堆积木了。关于接口配置部分仍在研究,这部分须要后端接口支持、以及多种状况的实验,等何时研究透了再详细写一下。