Vuex-Router-Webpack 模块化开发
项目目的
不使用vue-cli脚手架,从头搭建模块化开发环境
Github仓库地址:https://github.com/Zimomo333/Vuex-Router-Webpack
项目功能
- 导航栏(折叠)
- 面包屑
- Vue-Router(路由、拦截功能)
- Vuex(中心化登录权限)
- token存入Cookie,用户信息存入localStorage
- Wepack打包压缩,热加载本地服务器
项目依赖
- Vue
- Vue Router
- Vuex
- axios异步请求、js-cookie操作Cookies
- Element-UI
- webpack
1 | npm init |
目录结构
结构说明:
文件/目录名 | 作用 |
---|---|
webpack.config.js |
webpack 配置文件 |
routes.js |
Vue Router 配置文件 |
store.js |
Vuex 配置文件 |
main.js |
全局配置,webpack 打包入口 |
request.js |
二次封装axios,错误码处理,header设置token |
auth.js |
Cookies、localStorage 操作 |
App.vue |
Vue 根组件 |
public/index.html |
HtmlWebpackPlugin 自定义index.html 模板 |
views 目录 |
页面组件(业务页面) |
components 目录 |
公用组件(导航栏、面包屑) |
api 目录 |
请求接口目录 |
dist 目录 |
webpack 打包输出目录 |
node_modules 目录 |
npm 模块下载目录 |
Vue-Router
router.js
1 | import Vue from 'vue' |
Vuex
store.js
1 | import Vue from 'vue' |
Webpack
webpack.config.js
1 | const path = require('path') |
public/index.html
模板
默认生成的index.html
没有 id=”app” 挂载点,必须使用自定义模板
1 |
|
组件
SidebarItem.vue(导航栏组件)
组件自调用实现嵌套导航栏
传递basePath记录父路由路径,与子路由拼接成完整路径
1 | <template> |
项目展示
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Zimomo!
评论