美文网首页Vue.jsVue.js专区
必经之路·基于vue的项目搭建

必经之路·基于vue的项目搭建

作者: 喜欢未来你的我 | 来源:发表于2019-08-06 15:32 被阅读0次
  • 前言
  • 项目构建说明
    • 包管理器的选择及配置相关文件
    • 预处理器
    • 框架UI
    • eslint规范代码
    • 移动端适配问题
    • 减少打包体积
    • 网络请求
    • 静态图片采用svg
  • 状态管理模式
  • 托管项目中全局数据
  • 数据与组件分离
  • 项目运行指令
  • 项目仓库代码

前言

日常的开发中,我们大部分时间可能迭代需求或是修改bug,很难接触到从0搭建项目,但是无法避免的临时搭建。搭建、配置并且扩展性强的项目,其实很重要,会在以后开发、迭代、扩展场景上会很能体现出好处。下面来总结下,临时搭建项目应该注意的事项。

项目基于vue搭建

项目构建说明

包管理器的选择及配置相关文件

  • 本项目采用yarn包管理器代替npm,为什么使用yarn和下载
  • 项目使用 vue-cli 的3.8.4版本创建,项目构建初始化安装vuex,vue-router,node-sass,scss,babel,eslint模块。后续业务新增需求,可自定义安装相关依赖模块。
  • 最新脚手架创建项目采用了零配置理念,故新增配置文件( vue.config.js,.env.test,.env.production,.env.development),一般常用三种环境,若多个环境可自定义。

预处理器

根据个人喜好,使用预处理器。常用预处理器三种,sass、less、stylus。

个人偏向使用sass,初始化安装sass会自动安装sass-loadernode-sass。或已初始化,手动使用命令安装 yarn add sass-loader node-sass -D。就可以使用sass的 使用变量优美的嵌套规则混合器等等。具体可参考 官方文档了解。

框架UI

根据项目场景,自定义UI框架。个人喜好,移动端使用有赞的vant,PC端使用饿了么的element框架。

本实例使用有赞的移动端框架vant,安装vant、babel-plugin-import模块,babel-plugin-import 是一款 babel 插件,它会在编译过程中将 import 的写法自动转换为按需引入的方式,以减少代码体积和冗余模块。

1.安装运行命令 yarn add vantyarn add babel-plugin-impor -D
2.在babel.config.js中,配置按需引入代码

eslint规范代码

初始化安装项目后,会生成一个 .eslintrc.js文件,若个人喜好代码风格,可在该文件内的rules属性配置。

注意: 鉴于多人开发,可能某一模块风格各异,可新增.eslintignore.js,忽略语法检查文件,以免多人项目习惯不同导致不同的基本代码规范不同。

移动端适配问题

  1. 采用阿里的 lib-flexible 移动端解决方案,来设置rem基准值
  2. postcss-pxtorem 是一款 postcss 插件,用于将单位转化为 rem

需在vue.config.js内postcss内,配置相关参数,详见代码

减少打包体积

  1. index.html配置各模式兼容问题,及vue.config.js打包生产环境使用兼容cdn,详见代码
  2. 使用 compression-webpack-plugin 模块,解决打包体积过大等问题

需安装 compression-webpack-plugin 模块

网络请求

  1. 采用axios 模块,来进行发起服务器端请求
  2. 网络请求封装,约定基础请求与业务线接口分开,详见代码

需安装 axios 模块

静态图片采用svg

  1. svg为矢量图,缩放不失真
  2. 减少静态资源体积
  3. 具体配置,参考项目代码

需安装 svg-sprite-loader 模块,详情 可参考这位老兄

状态管理模式

状态管理也或叫是数据共享池或叫仓库。事实证明,项目中越来越常用数据管理。你可能利用公交车bus事件(on,emit), 或是props传值,也或是H5的storage存储等等,当然可以达到组件间的传值,但很会杂乱的值的变化,无法有效的跟踪,而vuex很好的做到这点。 vue的传值方式,可预览我写的 花里胡哨的vue传值

故搭建新项目,都会使用vuex来管理数据,只是使用程度、模式不一致而已,vuex文档

托管项目中全局数据

将 token(用户凭证)、device(设备环境)地理位置、城市等等,全局使用的、且独立的数据存放于仓库,便于取,有记录的存,有条理性记录公共的数据变化。这种方式也就是store(仓库)托管全局、共享的数据.

vuex项目结构,详见仓库代码

数据与组件分离

与上述方法相同,使用vuex,数据托管于store(仓库)。与此区分的是,将数据model脱离组件书写,数据操作统一vuex来管理,而组件侧重点页面、样式、交互逻辑编写。具体点就是,接口数据及交互数据统一管理存放于store中,通过action来异步更新数据。store的模块结构显得由外的重要的。

vuex项目结构,详见仓库代码

项目运行指令

  • 安装依赖
yarn 或 yarn install
  • 运行项目
yarn run serve
  • 打包测试
yarn run build:test
  • 打包正式
yarn run build
  • 运行测试单元
yarn run test
  • 格式化代码(规范代码)
yarn run lint

项目仓库代码

生活寄语

春雨如酒

爱代码,爱生活

相关文章

  • 【Vue3.0】- 入坑 - 全家桶

    本文主要内容基于 vue-cli 快速搭建 Vue 3.0 项目 快速搭建 Vue 3.0 项目 版本 升级vue...

  • 必经之路·基于vue的项目搭建

    前言 项目构建说明包管理器的选择及配置相关文件预处理器框架UIeslint规范代码移动端适配问题减少打包体积网络请...

  • Vue(一)vue-cli搭建Vue项目

    vue项目搭建 vue项目快速搭建工具——vue-cli vue-cli是基于node环境的一个命令行工具。也就是...

  • vue项目搭建

    前言 此样板为基于Vue2.0的移动web项目搭建方式。 项目构成 Vue+Vue-cli+Vue-Router+...

  • VUE全家桶

    注意:这里只讲VUE脚手架搭建的项目首先安装开发环境,vue-cli 一键搭建vue项目是基于 Node.js 所...

  • hz-vue项目搭建

    基于webpack创建的项目1.先搭建vue-clicnpm install vue-cli -g2.基于webp...

  • vue移动端项目搭建

    本项目搭建适用于h5移动端的vue项目搭建,主体是基于vue-cli3脚手架,目的在于搭建个可用于快速启动项目的基...

  • vue cli3 查看打包文件报告

    因为项目是基于vue cli3 搭建的,可以直接使用npx vue-cli-service build --rep...

  • 基于vue-cli快速搭建开发框架(axios,global,v

    title: 基于vue快速搭建开发框架 从去年开始接触vue开发,也从头到尾经历了两个大项目,从搭建项目一点点的...

  • Vue WanAndroid项目

    基于Vue 搭建的简单WanAndroid项目 供参考和学习 项目中API均来源于:www.wanandroid...

网友评论

    本文标题:必经之路·基于vue的项目搭建

    本文链接:https://www.haomeiwen.com/subject/yweidctx.html