Pan 691c526458 pref[Sidebar]: refine key | %!s(int64=6) %!d(string=hai) anos | |
---|---|---|
build | %!s(int64=6) %!d(string=hai) anos | |
config | %!s(int64=6) %!d(string=hai) anos | |
src | %!s(int64=6) %!d(string=hai) anos | |
static | %!s(int64=7) %!d(string=hai) anos | |
.babelrc | %!s(int64=6) %!d(string=hai) anos | |
.editorconfig | %!s(int64=7) %!d(string=hai) anos | |
.eslintignore | %!s(int64=7) %!d(string=hai) anos | |
.eslintrc.js | %!s(int64=6) %!d(string=hai) anos | |
.gitignore | %!s(int64=7) %!d(string=hai) anos | |
.postcssrc.js | %!s(int64=6) %!d(string=hai) anos | |
.travis.yml | %!s(int64=7) %!d(string=hai) anos | |
LICENSE | %!s(int64=6) %!d(string=hai) anos | |
README-zh.md | %!s(int64=6) %!d(string=hai) anos | |
README.md | %!s(int64=6) %!d(string=hai) anos | |
favicon.ico | %!s(int64=7) %!d(string=hai) anos | |
index.html | %!s(int64=7) %!d(string=hai) anos | |
package.json | %!s(int64=6) %!d(string=hai) anos |
这是一个 极简的 vue admin 管理后台 它只包含了 Element UI & axios & iconfont & permission control & lint,这些搭建后台必要的东西。
如果你想要根据用户角色来动态生成侧边栏和 router,你可以使用改分支permission-control
本项目基于webpack4
开发,若还想使用webpack3
开发,请使用该分支webpack3
如果你想使用基于 vue + typescript 的管理后台, 可以看看这个项目: vue-typescript-admin-template (鸣谢: @Armour)
写了一个系列的教程配套文章,如何从零构建后一个完整的后台项目:
# Clone project
git clone https://github.com/PanJiaChen/vue-admin-template.git
# Install dependencies
npm install
# 建议不要用cnpm 安装有各种诡异的bug 可以通过如下操作解决npm速度慢的问题
npm install --registry=https://registry.npm.taobao.org
# Serve with hot reload at localhost:9528
npm run dev
# Build for production with minification
npm run build
# Build for production and view the bundle analyzer report
npm run build --report
首先找到 index.html
(根目录下)
引入 Element 的 css 和 js ,并且引入 vue 。因为 Element-Ui 是依赖 vue 的,所以必须在它之前引入 vue 。
之后找到 webpack.base.conf.js 加入 externals
让 webpack 不打包 vue 和 element
externals: {
vue: 'Vue',
'element-ui':'ELEMENT'
}
之后还有一个小细节是如果你用了全局对象方式引入 vue,就不需要 手动 Vue.use(Vuex)
,它会自动挂载,具体见 issue
最终你可以使用 npm run build --report
查看效果
如图:
MIT license.
Copyright (c) 2017-present PanJiaChen