- 项目使用webpack4、babel7构建
- 支持开发基于vue的单页面、多页面项目
- 支持flexible布局编写的h5项目
- 基本配置文件:复制一份userConfig.js.config文件并改名为userConfig.js
- 安装依赖:执行npm install或者yarn
- 基本命令
//运行开发环境
npm start || npm run dev
//https开发环境
npm start --usehttps
//打包构建
npm run build
//使用webpack dll打包vue相关文件
npm run dll-vue
//使用webpack分析模块
npm run build --report
- demo页面 运行npm start后查看
- web页面添加参考/src/entry/index页面
- h5页面添加参考/src_h5/entry/h5页面
- 新添加页面需要配置/webpack/entry-config.js文件添加入口
- dll使用
- 为了优化构建速度,默认将'vue', 'vuex', 'vue-router', 'vue-i18n'打包为dll文件加载
- 入口文件配置
- 使用art模板以及html-webpack-plugin生成入口html文件
- 多页面项目新增页面需要配置/webpack/entry-config.js文件添加入口
- 代理以及端口设置
- 为防止多人开发冲突,需要复制一份userConfig.js.config文件并改名为userConfig.js,然后配置开发环境接口代理以及端口
- 代码拆分
- optimization.splitChunks.cacheGroups配置拆分公共代码,具体配置在/webpack/webpack.prod.config.js中
- resolve
符号 | 文件夹 |
---|---|
@ | /src |
@h5 | /src_h5 |
^ | /static |
img | /src/img |
h5img | /src_h5/img |
- 推荐使用vue单文件组件
- 项目默认使用sass预处理css使用postcss添加浏览器后缀以及转换h5项目px->rem,也可以更换其他处理方式,需要单独下载对应loader。具体配置在/webpack/utils.js文件中。
- js编写:使用babel处理src下所有js,推荐使用es6语法。代码引入风格推荐使用import。
- 使用图片
- 在art中使用图片
<img src="{{require('img/icon.png')}}" alt="" >
- 在js中应用图片
import imgUrl from 'img/icon.png'
- 在scss中使用图片,使用相对于scss文件的地址
background: url('../../../static/img/bg.jpg') no-repeat fixed ;
- h5页面需要在src_h5目录下面开发
- h5页面使用flexible布局,同时改变视口解决1px border显示问题
- 使用postcss-plugin-px2rem转换px,具体配置在.postcssrc.js文件中。
- h5页面的art模板与web页面不同
- border-radius等属性需要自己转换为rem
├── .babelrc //babel配置文件
├── .browserslistrc //browserslist浏览器配置文件
├── .gitignore //git忽略配置文件
├── .postcssrc.js //postcss配置文件
├── README.md
├── dist //打包代码
├── package.json
├── src //web页面
│ ├── api //http请求目录
│ ├── common //公共代码
│ ├── components //公共组件
│ ├── directive //自定义指令
│ ├── entry //web页面入口
│ │ └── index //index.html页面入口
│ │ ├── index-router.js
│ │ ├── index.js
│ │ └── index.vue
│ ├── filters //vue filter配置
│ ├── img //图片
│ ├── lang //vue-i18n配置
│ ├── pages //页面组件
│ │ └── index
│ │ └── demo.vue
│ ├── plugins//vue插件
│ └── scss //公共sass文件
├── src_h5 //h5页面,结构与src类似
├── static //静态文件目录,打包时会直接复制到dist/static中
│ └── js
│ ├── dll //vue相关文件
│ │ └── vueVendor.9f4e58.js
├── userConfig.js.config //开发者配置文件
└── webpack //webpack配置
├── art //art模板
├── build.js //打包命令
├── config.js //webpack基本参数配置
├── dll //webpack dll生成文件
│ └── vueVendor-manifest.json
├── dll.js //webpack dll命令
├── entry-config.js //入口页面配置
├── utils.js
├── vue-loader.config.js //vue-loader配置
├── webpack.base.config.js //webpack基本配置
├── webpack.dev.config.js //webpack开发环境配置
├── webpack.dll.config.js //webpack dll配置
└── webpack.prod.config.js //webpack生产环境打包配置