In the past half year, I have been building a backend for management dashboard using Vue. Though the backend has contained greater than 70 pages and over 10 permissions, it still takes insignificant effort to maintain the project. So I decide to make it open source so as to share my development experience and progress on backend. The tech stack is mainly Vue.js+Element+axios. Since it's a personal project, all data requests are simulated with Mock.js. Note: if anyone wants to modify or develop based on this project, please remove the mock files.
Live demo: http://panjiachen.github.io/vue-element-admin
Note: element-ui@1.3.3 is used in the project, so vue 2.3.0+ is required.
More tutorials incoming. Including articles on:
Join the group on QQ 591724180.
Tutorials:
Please read the Wiki and articles above before creating any issue. Feel free to contribute by making a pull request.
# Clone project
git clone https://github.com/PanJiaChen/vue-element-admin.git
# Install dependencies
npm install
# Or (not recommended for cnpm due to unknown bugs, use taobao mirror instead)
npm install --registry=https://registry.npm.taobao.org
# Run local dev server
npm run dev
Visit in browser: http://localhost:9527
# Build staged environment with webpack-bundle-analyzer
npm run build:sit-preview
# Build production environment
npm run build:prod
├── build // build
├── config // config
├── src // source code
│ ├── api // all requests
│ ├── assets // static resource like themes, fonts
│ ├── components // global public components
│ ├── directive // global directive
│ ├── filters // global filters
│ ├── mock // mock data
│ ├── router // router
│ ├── store // global status management
│ ├── styles // global styles
│ ├── utils // global public functions
│ ├── view // view
│ ├── App.vue // entry view
│ └── main.js // entry for loading components, initialization
├── static // third-party libraries not packed with Webpack
│ ├── jquery
│ └── Tinymce // rich text
├── .babelrc // babel-loader config
├── eslintrc.js // eslint config
├── .gitignore // gitignore
├── favicon.ico // favicon
├── index.html // html template
└── package.json // package.json
Detailed changes for each release are documented in the release notes.
Only status of user and app configuration is managed by Vuex. Other data are managed by their own business pages.