loujohn / vue-cli3-template

基于vue cli3的web项目模版,多页面多入口打包,集成常用三方包
MIT License
1 stars 1 forks source link

vue template

build license node
基于vue cli3的web项目模版

功能列表: 多页面多入口打包

快速开始


# 安装vue cli3
> npm install -g @vue/cli
# 从仓库加载
> vue create --preset direct:http://192.168.11.158/liujunhong/vue-cli3-template.git [project-name] --clone
# 从本地加载
> git clone http://192.168.11.158/liujunhong/vue-cli3-template.git
> vue create --preset ./vue-cli3-template [project-name] --no-git

# 根据需要选择设置
# ESLint config建议选择perttier
# css预编译建议选择scss
# vue router有后端支持选择histiory,没有选hash
# 建议选择PWA
# UI框架建议选择ivew,ivew示列模版没有写

cd [project-name]

# 运行开发版本
npm run dev

# 运行构建版本
npm run dev

# 格式化所有代码
npm run format

# 运行代码检查
npm run lint

项目结构


├── .gitignore
├── babel.config.js
├── dist                                #项目输出目录
├── package-lock.json
├── package.json
├── public
├── src                                 #源代码
│   ├── api                             #存放接口文件    
│   ├── assets                          #项目级公共资产文件
│   │   └── sass                        
│   │       └── var.scss                #全局sass变量
│   ├── bootstrap.js                    #单页初始化函数
│   ├── components                      #项目级公共组件
│   │   ├── charts                      #echart组件
│   │   ├── index.js                    #公共组件输出
│   │   ├── language.vue                #语言切换组件
│   │   ├── login.vue                   #登陆组件
│   │   └── svg-icon                    #svg组件
│   ├── config.js                       #项目配置文件
│   ├── i18n                            #国际化目录
│   │   ├── en-US.js
│   │   ├── index.js
│   │   └── zh-CN.js
│   ├── icons                           #svg图标目录
│   │   ├── index.js
│   │   ├── svg
│   ├── lib                             #第三方公共文件
│   │   ├── axios.js
│   │   └── index.js
│   ├── pages                           #页面文件夹
│   │   ├── example                     #复杂页面示例   
│   │   │   ├── App.vue                 #必须,页面根组件
│   │   │   ├── components              #页面级公共组件
│   │   │   │   ├── common
│   │   │   │   ├── index.js
│   │   │   │   └── layout.vue
│   │   │   ├── index.html              #必须,页面模板文件
│   │   │   ├── main.js                 #必须,页面入口文件
│   │   │   ├── routes                  #路由配置
│   │   │   │   ├── echart.js
│   │   │   │   ├── index.js
│   │   │   │   └── project.js
│   │   │   ├── store                   #页面store
│   │   │   │   ├── actions.js
│   │   │   │   ├── index.js
│   │   │   │   ├── modules             #页面子store
│   │   │   │   ├── mutations.js
│   │   │   │   └── state.js
│   │   │   └── views                   #SPA页面各子view
│   │   │       ├── 404.vue
│   │   │       ├── echart.vue
│   │   │       ├── home.vue
│   │   │       ├── login.vue
│   │   │       └── project
│   │   ├── index                       #空的复杂页面模版
│   │   │   ├── App.vue
│   │   │   ├── components
│   │   │   ├── index.html
│   │   │   ├── main.js
│   │   │   ├── routes
│   │   │   │   └── index.js
│   │   │   ├── store
│   │   │   │   ├── actions.js
│   │   │   │   ├── index.js
│   │   │   │   ├── modules
│   │   │   │   ├── mutations.js
│   │   │   │   └── state.js
│   │   │   └── views
│   │   │       ├── 404.vue
│   │   │       └── home.vue
│   │   └── simple                     #简单页面示列     
│   │       ├── App.vue
│   │       ├── index.html
│   │       └── main.js
│   ├── registerServiceWorker.js       #pwa
│   ├── router.js                      #项目路由设置
│   ├── store                          #项目级公用store
│   │   ├── index.js
│   │   ├── modules                    #项目级store子模块
│   │   │   ├── Language.js
│   │   │   ├── User.js
│   │   │   ├── Webconfig.js
│   │   │   └── index.js
│   │   ├── mutation-type.js           #store常量
│   │   └── plugins.js                 #store日志插件
│   └── mixins                         #混入
│   └── utils                          #工具函数
│       ├── directives.js               
│       ├── filters.js
│       └── validate.js
├── tests
└── prettier.config.js                 #prettier定制
└── vue.config.js                      #webpack配置修改

项目子结构说明


业务子结构

部分目录根据业务分割:

通用结构

页面结构

TodoList