vue element-ui CircleCI PRs Welcome License: MIT Template from jarvis

English | [简体中文](./README-zh.md) ## Overview [vue-typescript-admin-template](http://armour.github.io/vue-typescript-admin-template) is a production-ready front-end solution for admin interfaces based on [vue](https://github.com/vuejs/vue), [typescript](https://www.typescriptlang.org/) and UI Toolkit [element-ui](https://github.com/ElemeFE/element). The original Javascript version code [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin/) was written by [PanJiaChen](https://github.com/PanJiaChen), many thanks to him for the awesome open source project! :) If you want to get started with a minimal template code instead of integration solution, you can take a look at the [minimal](https://github.com/Armour/vue-typescript-admin-template/tree/minimal) branch. ## Documentation [Docs](https://armour.github.io/vue-typescript-admin-docs) ## Live demo [Demo](https://armour.github.io/vue-typescript-admin-template) ## Screenshots ![dashboard](./demo/dashboard.png) ## Related Projects [Armour/vue-typescript-admin-mock-server](https://github.com/armour/vue-typescript-admin-mock-server) (mock server for this project) [Armour/vue-typescript-admin-docs](https://github.com/armour/vue-typescript-admin-docs) (documentation source for this project) Javascript version: [PanJiaChen/vue-admin-template](https://github.com/PanJiaChen/vue-admin-template) (a vue2.0 minimal admin template) [PanJiaChen/vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) (full features supported vue admin) [PanJiaChen/electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin) (a vue electron admin project) ## Features ```txt - Login / Logout - Permission Authentication - Page permission - Directive permission - Permission configuration page - Two-step login - Multi-environment build - Dev / Stage / Prod - Global Features - I18n - Dynamic themes - Dynamic sidebar (supports multi-level routing) - Dynamic breadcrumb - Tags-view (supports right-click operation) - Clipboard - Svg icons - Search - Screenfull - Settings - Mock data / Mock server - PWA support - Components - Editors - Rich Text Editor - Markdown Editor - JSON Editor - Avatar Upload - Back To Top - CountTo - Dropzone - Draggable Dialog - Draggable Kanban - Draggable List - Draggable Select - ECharts - Mixin - SplitPane - Sticky - Table - Dynamic Table - Draggable Table - Inline Edit Table - Complex Table - Excel - Export Excel - Upload Excel - Excel Visualization - Zip - Export zip - PDF - Download pdf - Dashboard - Guide Page - Advanced Example Page - Error Log - Error Page - 401 - 404 ``` ## Preparation You need to install [node](http://nodejs.org/) and [git](https://git-scm.com/) locally. The project is based on [typescript](https://www.typescriptlang.org/), [vue](https://vuejs.org/index.html), [vuex](https://vuex.vuejs.org/), [vue-router](https://router.vuejs.org/), [vue-cli](https://github.com/vuejs/vue-cli) , [axios](https://github.com/axios/axios) and [element-ui](https://github.com/ElemeFE/element), all request data is simulated using [faker.js](https://github.com/Marak/Faker.js). Understanding and learning these knowledge in advance will greatly help you on using this project. ## Project Structure ```bash ├── mock/ # mock server & mock data ├── public # public static assets (directly copied) │ │── favicon.ico # favicon │ │── manifest.json # PWA config file │ └── index.html # index.html template ├── src # main source code │ ├── api # api service │ ├── assets # module assets like fonts, images (processed by webpack) │ ├── components # global components │ ├── directives # global directives │ ├── filters # global filter │ ├── icons # svg icons │ ├── lang # i18n language │ ├── layout # global layout │ ├── pwa # PWA service worker related files │ ├── router # router │ ├── store # store │ ├── styles # global css │ ├── utils # global utils │ ├── views # views │ ├── App.vue # main app component │ ├── main.ts # app entry file │ ├── permission.ts # permission authentication │ ├── settings.ts # setting file │ └── shims.d.ts # type definition shims ├── tests/ # tests ├── .circleci/ # automated CI configuration ├── .browserslistrc # browserslist config file (to support Autoprefixer) ├── .editorconfig # editor code format consistency config ├── .env.xxx # env variable configuration ├── .eslintrc.js # eslint config ├── babel.config.js # babel config ├── jest.config.js # jest unit test config ├── package.json # package.json ├── postcss.config.js # postcss config ├── tsconfig.json # typescript config └── vue.config.js # vue-cli config ``` ## Project setup With [yarn](https://yarnpkg.com/lang/en/) or [npm](https://www.npmjs.com/get-npm) #### Install dependencies ```bash yarn install ``` #### Compiles and hot-reloads for development ```bash yarn run serve ``` #### Compiles and minifies for production ```bash yarn run build:prod ``` #### Lints and fixes files ```bash yarn run lint ``` #### Run your unit tests ```bash yarn run test:unit ``` #### Generate all svg components ```bash yarn run svg ``` #### Customize Vue configuration See [Configuration Reference](https://cli.vuejs.org/config/). ## Browsers support Modern browsers and Internet Explorer 10+. | [IE / Edge](http://godban.github.io/browsers-support-badges/)
IE / Edge | [Firefox](http://godban.github.io/browsers-support-badges/)
Firefox | [Chrome](http://godban.github.io/browsers-support-badges/)
Chrome | [Safari](http://godban.github.io/browsers-support-badges/)
Safari | | --------- | --------- | --------- | --------- | | IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions ## Contributing See [CONTRIBUTING.md](https://github.com/Armour/vue-typescript-admin-template/blob/master/.github/CONTRIBUTING.md) ## License [MIT License](https://github.com/Armour/vue-typescript-admin-template/blob/master/LICENSE)