├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── docs ├── images │ ├── admin.png │ ├── egg-webpack.png │ ├── iblog.png │ ├── vue-mutil-page.png │ ├── vue-single-page.png │ ├── webpack-build.png │ └── webpack.png └── lerna.md ├── lerna.json ├── package.json ├── packages ├── egg-vue-webpack-asset-boilerplate │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── LICENSE │ ├── README.md │ ├── app │ │ ├── controller │ │ │ └── asset │ │ │ │ └── index.js │ │ ├── extend │ │ │ ├── application.js │ │ │ └── context.js │ │ ├── lib │ │ │ └── db │ │ │ │ ├── base.js │ │ │ │ ├── blog.json │ │ │ │ ├── collection.js │ │ │ │ ├── factory.js │ │ │ │ ├── file.js │ │ │ │ ├── mongo.js │ │ │ │ ├── mysql.js │ │ │ │ └── query.js │ │ ├── middleware │ │ │ ├── access.js │ │ │ └── locals.js │ │ ├── model │ │ │ ├── article.js │ │ │ ├── artilcedetail.js │ │ │ ├── user.js │ │ │ └── utils │ │ │ │ └── base.js │ │ ├── router.js │ │ ├── service │ │ │ └── article.js │ │ ├── view │ │ │ └── README.md │ │ └── web │ │ │ ├── asset │ │ │ ├── css │ │ │ │ ├── blog.css │ │ │ │ ├── bootstrap.css │ │ │ │ ├── font-awesome.min.css │ │ │ │ └── global.css │ │ │ ├── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ ├── fontawesome-webfont.woff2 │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ ├── images │ │ │ │ ├── egg-vue-webpack-dev.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── loading.gif │ │ │ │ └── logo.png │ │ │ └── medias │ │ │ │ └── red.mp4 │ │ │ ├── component │ │ │ ├── MarkdownEditor │ │ │ │ └── index.vue │ │ │ ├── layout │ │ │ │ ├── admin │ │ │ │ │ ├── content │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ │ ├── footer.css │ │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ │ ├── header.css │ │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── main.vue │ │ │ │ │ └── menu │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── index.vue │ │ │ │ ├── default.js │ │ │ │ ├── index │ │ │ │ │ ├── content │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ │ ├── footer.css │ │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ │ ├── header.css │ │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.js │ │ │ │ │ └── main.vue │ │ │ │ ├── inline.js │ │ │ │ ├── layout.js │ │ │ │ ├── simple │ │ │ │ │ └── index.vue │ │ │ │ └── spa │ │ │ │ │ ├── content │ │ │ │ │ ├── content.css │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ ├── footer.css │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ ├── header.css │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.vue │ │ │ │ │ └── main.vue │ │ │ └── spa │ │ │ │ ├── index.vue │ │ │ │ ├── router │ │ │ │ ├── detail.vue │ │ │ │ ├── index.js │ │ │ │ └── list.vue │ │ │ │ └── store │ │ │ │ ├── actions.js │ │ │ │ ├── getters.js │ │ │ │ ├── index.js │ │ │ │ ├── mutation-type.js │ │ │ │ └── mutations.js │ │ │ ├── framework │ │ │ ├── app.js │ │ │ └── request.js │ │ │ ├── page │ │ │ └── asset │ │ │ │ ├── simple.vue │ │ │ │ ├── spa.js │ │ │ │ └── spa.vue │ │ │ └── view │ │ │ ├── asset.html │ │ │ ├── layout.html │ │ │ └── layout.tpl │ ├── babel.config.js │ ├── config │ │ ├── config.default.js │ │ ├── config.local.js │ │ ├── config.prod.js │ │ ├── config.test.js │ │ ├── plugin.js │ │ └── plugin.local.js │ ├── package.json │ ├── test │ │ ├── controller │ │ │ └── asset.test.js │ │ └── utils │ │ │ └── helper.js │ └── webpack.config.js ├── egg-vue-webpack-boilerplate │ ├── .all-contributorsrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitattributes │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── app │ │ ├── controller │ │ │ ├── admin │ │ │ │ └── admin.js │ │ │ ├── asset │ │ │ │ └── index.js │ │ │ ├── blog │ │ │ │ ├── category.js │ │ │ │ └── home.js │ │ │ ├── html │ │ │ │ └── index.js │ │ │ ├── spa │ │ │ │ └── index.js │ │ │ └── test.js │ │ ├── extend │ │ │ ├── application.js │ │ │ └── context.js │ │ ├── lib │ │ │ └── db │ │ │ │ ├── base.js │ │ │ │ ├── blog.json │ │ │ │ ├── collection.js │ │ │ │ ├── factory.js │ │ │ │ ├── file.js │ │ │ │ ├── mongo.js │ │ │ │ ├── mysql.js │ │ │ │ └── query.js │ │ ├── middleware │ │ │ ├── access.js │ │ │ └── locals.js │ │ ├── model │ │ │ ├── article.js │ │ │ ├── artilcedetail.js │ │ │ ├── user.js │ │ │ └── utils │ │ │ │ └── base.js │ │ ├── router.js │ │ ├── service │ │ │ └── article.js │ │ ├── view │ │ │ └── README.md │ │ └── web │ │ │ ├── asset │ │ │ ├── css │ │ │ │ ├── blog.css │ │ │ │ ├── bootstrap.css │ │ │ │ ├── font-awesome.min.css │ │ │ │ └── global.css │ │ │ ├── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ ├── fontawesome-webfont.woff2 │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ ├── images │ │ │ │ ├── egg-vue-webpack-dev.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── loading.gif │ │ │ │ └── logo.png │ │ │ └── medias │ │ │ │ └── red.mp4 │ │ │ ├── component │ │ │ ├── MarkdownEditor │ │ │ │ └── index.vue │ │ │ ├── layout │ │ │ │ ├── admin │ │ │ │ │ ├── content │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ │ ├── footer.css │ │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ │ ├── header.css │ │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── main.vue │ │ │ │ │ └── menu │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── index.vue │ │ │ │ ├── default.js │ │ │ │ ├── index │ │ │ │ │ ├── content │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ │ ├── footer.css │ │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ │ ├── header.css │ │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.js │ │ │ │ │ └── main.vue │ │ │ │ ├── inline.js │ │ │ │ ├── layout.js │ │ │ │ ├── simple │ │ │ │ │ └── index.vue │ │ │ │ └── spa │ │ │ │ │ ├── content │ │ │ │ │ ├── content.css │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ ├── footer.css │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ ├── header.css │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.vue │ │ │ │ │ └── main.vue │ │ │ └── spa │ │ │ │ ├── index.vue │ │ │ │ ├── router │ │ │ │ ├── detail.vue │ │ │ │ ├── index.js │ │ │ │ └── list.vue │ │ │ │ └── store │ │ │ │ ├── actions.js │ │ │ │ ├── getters.js │ │ │ │ ├── index.js │ │ │ │ ├── mutation-type.js │ │ │ │ └── mutations.js │ │ │ ├── framework │ │ │ ├── app.js │ │ │ ├── entry │ │ │ │ └── template.js │ │ │ ├── i18n │ │ │ │ ├── admin │ │ │ │ │ ├── cn.js │ │ │ │ │ ├── en.js │ │ │ │ │ └── index.js │ │ │ │ └── site │ │ │ │ │ ├── cn.js │ │ │ │ │ ├── en.js │ │ │ │ │ └── index.js │ │ │ ├── plugin │ │ │ │ └── index.js │ │ │ └── request.js │ │ │ ├── page │ │ │ ├── admin │ │ │ │ ├── home │ │ │ │ │ ├── component │ │ │ │ │ │ └── panel.vue │ │ │ │ │ ├── home.vue │ │ │ │ │ ├── router │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── store │ │ │ │ │ │ └── app │ │ │ │ │ │ │ ├── actions.js │ │ │ │ │ │ │ ├── getters.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── mutation-type.js │ │ │ │ │ │ │ └── mutations.js │ │ │ │ │ └── view │ │ │ │ │ │ ├── dashboard │ │ │ │ │ │ └── index.vue │ │ │ │ │ │ ├── detail.vue │ │ │ │ │ │ ├── list.vue │ │ │ │ │ │ ├── notfound.vue │ │ │ │ │ │ └── write │ │ │ │ │ │ └── index.vue │ │ │ │ └── login │ │ │ │ │ ├── login.css │ │ │ │ │ └── login.vue │ │ │ ├── asset │ │ │ │ ├── simple.vue │ │ │ │ ├── spa.js │ │ │ │ └── spa.vue │ │ │ ├── blog │ │ │ │ ├── about │ │ │ │ │ ├── about.css │ │ │ │ │ └── about.vue │ │ │ │ ├── category │ │ │ │ │ ├── category.css │ │ │ │ │ └── category.vue │ │ │ │ └── home │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.vue │ │ │ ├── html │ │ │ │ ├── simple.vue │ │ │ │ └── spa.js │ │ │ ├── spa │ │ │ │ └── index.js │ │ │ └── test │ │ │ │ └── test.vue │ │ │ └── view │ │ │ ├── asset.html │ │ │ ├── layout.html │ │ │ └── layout.tpl │ ├── babel.config.js │ ├── config │ │ ├── config.default.js │ │ ├── config.local.js │ │ ├── config.prod.js │ │ ├── config.test.js │ │ ├── plugin.js │ │ └── plugin.local.js │ ├── docs │ │ ├── images │ │ │ ├── admin.png │ │ │ ├── egg-webpack.png │ │ │ ├── iblog.png │ │ │ ├── vue-mutil-page.png │ │ │ ├── vue-single-page.png │ │ │ ├── webpack-build.png │ │ │ └── webpack.png │ │ ├── issue_template.md │ │ └── perform.md │ ├── package.json │ ├── test │ │ ├── controller │ │ │ ├── asset.test.js │ │ │ ├── blog.test.js │ │ │ ├── html.test.js │ │ │ └── spa.test.js │ │ └── utils │ │ │ └── helper.js │ ├── view │ │ ├── simple.tpl │ │ └── spa.tpl │ ├── webpack.config.js │ └── yarn.lock ├── egg-vue-webpack-html-boilerplate │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── LICENSE │ ├── README.md │ ├── app │ │ ├── controller │ │ │ └── html │ │ │ │ └── index.js │ │ ├── extend │ │ │ ├── application.js │ │ │ └── context.js │ │ ├── lib │ │ │ └── db │ │ │ │ ├── base.js │ │ │ │ ├── blog.json │ │ │ │ ├── collection.js │ │ │ │ ├── factory.js │ │ │ │ ├── file.js │ │ │ │ ├── mongo.js │ │ │ │ ├── mysql.js │ │ │ │ └── query.js │ │ ├── middleware │ │ │ ├── access.js │ │ │ └── locals.js │ │ ├── model │ │ │ ├── article.js │ │ │ ├── artilcedetail.js │ │ │ ├── user.js │ │ │ └── utils │ │ │ │ └── base.js │ │ ├── router.js │ │ ├── service │ │ │ └── article.js │ │ ├── view │ │ │ └── README.md │ │ └── web │ │ │ ├── asset │ │ │ ├── css │ │ │ │ ├── blog.css │ │ │ │ ├── bootstrap.css │ │ │ │ ├── font-awesome.min.css │ │ │ │ └── global.css │ │ │ ├── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ ├── fontawesome-webfont.woff2 │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ ├── images │ │ │ │ ├── egg-vue-webpack-dev.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── loading.gif │ │ │ │ └── logo.png │ │ │ └── medias │ │ │ │ └── red.mp4 │ │ │ ├── component │ │ │ ├── MarkdownEditor │ │ │ │ └── index.vue │ │ │ ├── layout │ │ │ │ ├── admin │ │ │ │ │ ├── content │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ │ ├── footer.css │ │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ │ ├── header.css │ │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── main.vue │ │ │ │ │ └── menu │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── index.vue │ │ │ │ ├── default.js │ │ │ │ ├── index │ │ │ │ │ ├── content │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ │ ├── footer.css │ │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ │ ├── header.css │ │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.js │ │ │ │ │ └── main.vue │ │ │ │ ├── inline.js │ │ │ │ ├── layout.js │ │ │ │ ├── simple │ │ │ │ │ └── index.vue │ │ │ │ └── spa │ │ │ │ │ ├── content │ │ │ │ │ ├── content.css │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ ├── footer.css │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ ├── header.css │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.vue │ │ │ │ │ └── main.vue │ │ │ └── spa │ │ │ │ ├── index.vue │ │ │ │ ├── router │ │ │ │ ├── detail.vue │ │ │ │ ├── index.js │ │ │ │ └── list.vue │ │ │ │ └── store │ │ │ │ ├── actions.js │ │ │ │ ├── getters.js │ │ │ │ ├── index.js │ │ │ │ ├── mutation-type.js │ │ │ │ └── mutations.js │ │ │ ├── framework │ │ │ ├── app.js │ │ │ └── request.js │ │ │ ├── page │ │ │ └── html │ │ │ │ ├── simple.vue │ │ │ │ └── spa.js │ │ │ └── view │ │ │ └── layout.tpl │ ├── babel.config.js │ ├── config │ │ ├── config.default.js │ │ ├── config.local.js │ │ ├── config.prod.js │ │ ├── config.test.js │ │ ├── plugin.js │ │ └── plugin.local.js │ ├── package.json │ ├── test │ │ ├── controller │ │ │ └── html.test.js │ │ └── utils │ │ │ └── helper.js │ ├── view │ │ ├── simple.tpl │ │ └── spa.tpl │ ├── webpack.config.js │ └── yarn.lock ├── egg-vue-webpack-mpa-boilerplate │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── LICENSE │ ├── app │ │ ├── controller │ │ │ └── blog │ │ │ │ ├── category.js │ │ │ │ └── home.js │ │ ├── extend │ │ │ ├── application.js │ │ │ └── context.js │ │ ├── lib │ │ │ └── db │ │ │ │ ├── base.js │ │ │ │ ├── blog.json │ │ │ │ ├── collection.js │ │ │ │ ├── factory.js │ │ │ │ ├── file.js │ │ │ │ ├── mongo.js │ │ │ │ ├── mysql.js │ │ │ │ └── query.js │ │ ├── middleware │ │ │ ├── access.js │ │ │ └── locals.js │ │ ├── model │ │ │ ├── article.js │ │ │ ├── artilcedetail.js │ │ │ ├── user.js │ │ │ └── utils │ │ │ │ └── base.js │ │ ├── router.js │ │ ├── service │ │ │ └── article.js │ │ ├── view │ │ │ └── README.md │ │ └── web │ │ │ ├── asset │ │ │ ├── css │ │ │ │ ├── blog.css │ │ │ │ ├── bootstrap.css │ │ │ │ ├── font-awesome.min.css │ │ │ │ └── global.css │ │ │ ├── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ ├── fontawesome-webfont.woff2 │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ ├── images │ │ │ │ ├── egg-vue-webpack-dev.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── loading.gif │ │ │ │ └── logo.png │ │ │ └── medias │ │ │ │ └── red.mp4 │ │ │ ├── component │ │ │ ├── MarkdownEditor │ │ │ │ └── index.vue │ │ │ ├── layout │ │ │ │ ├── admin │ │ │ │ │ ├── content │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ │ ├── footer.css │ │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ │ ├── header.css │ │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── main.vue │ │ │ │ │ └── menu │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── index.vue │ │ │ │ ├── default.js │ │ │ │ ├── index │ │ │ │ │ ├── content │ │ │ │ │ │ ├── content.css │ │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ │ ├── footer.css │ │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ │ ├── header.css │ │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.js │ │ │ │ │ └── main.vue │ │ │ │ ├── inline.js │ │ │ │ ├── layout.js │ │ │ │ ├── simple │ │ │ │ │ └── index.vue │ │ │ │ └── spa │ │ │ │ │ ├── content │ │ │ │ │ ├── content.css │ │ │ │ │ └── content.vue │ │ │ │ │ ├── footer │ │ │ │ │ ├── footer.css │ │ │ │ │ └── footer.vue │ │ │ │ │ ├── header │ │ │ │ │ ├── header.css │ │ │ │ │ └── header.vue │ │ │ │ │ ├── index.vue │ │ │ │ │ └── main.vue │ │ │ └── spa │ │ │ │ ├── index.vue │ │ │ │ ├── router │ │ │ │ ├── detail.vue │ │ │ │ ├── index.js │ │ │ │ └── list.vue │ │ │ │ └── store │ │ │ │ ├── actions.js │ │ │ │ ├── getters.js │ │ │ │ ├── index.js │ │ │ │ ├── mutation-type.js │ │ │ │ └── mutations.js │ │ │ ├── framework │ │ │ ├── entry │ │ │ │ └── template.js │ │ │ ├── i18n │ │ │ │ ├── admin │ │ │ │ │ ├── cn.js │ │ │ │ │ ├── en.js │ │ │ │ │ └── index.js │ │ │ │ └── site │ │ │ │ │ ├── cn.js │ │ │ │ │ ├── en.js │ │ │ │ │ └── index.js │ │ │ ├── plugin │ │ │ │ └── index.js │ │ │ └── request.js │ │ │ ├── page │ │ │ └── blog │ │ │ │ ├── about │ │ │ │ ├── about.css │ │ │ │ └── about.vue │ │ │ │ ├── category │ │ │ │ ├── category.css │ │ │ │ └── category.vue │ │ │ │ └── home │ │ │ │ ├── index.css │ │ │ │ └── index.vue │ │ │ └── view │ │ │ └── layout.html │ ├── babel.config.js │ ├── config │ │ ├── config.default.js │ │ ├── config.local.js │ │ ├── config.prod.js │ │ ├── config.test.js │ │ ├── plugin.js │ │ └── plugin.local.js │ ├── package.json │ ├── test │ │ ├── controller │ │ │ └── blog.test.js │ │ └── utils │ │ │ └── helper.js │ └── webpack.config.js └── egg-vue-webpack-spa-boilerplate │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .vscode │ ├── launch.json │ └── settings.json │ ├── LICENSE │ ├── README.md │ ├── app │ ├── controller │ │ └── spa │ │ │ └── index.js │ ├── extend │ │ ├── application.js │ │ └── context.js │ ├── lib │ │ └── db │ │ │ ├── base.js │ │ │ ├── blog.json │ │ │ ├── collection.js │ │ │ ├── factory.js │ │ │ ├── file.js │ │ │ ├── mongo.js │ │ │ ├── mysql.js │ │ │ └── query.js │ ├── middleware │ │ ├── access.js │ │ └── locals.js │ ├── model │ │ ├── article.js │ │ ├── artilcedetail.js │ │ ├── user.js │ │ └── utils │ │ │ └── base.js │ ├── router.js │ ├── service │ │ └── article.js │ ├── view │ │ └── README.md │ └── web │ │ ├── asset │ │ ├── css │ │ │ ├── blog.css │ │ │ ├── bootstrap.css │ │ │ ├── font-awesome.min.css │ │ │ └── global.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ ├── fontawesome-webfont.woff2 │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── images │ │ │ ├── egg-vue-webpack-dev.png │ │ │ ├── favicon.ico │ │ │ ├── loading.gif │ │ │ └── logo.png │ │ └── medias │ │ │ └── red.mp4 │ │ ├── component │ │ ├── MarkdownEditor │ │ │ └── index.vue │ │ ├── layout │ │ │ ├── admin │ │ │ │ ├── content │ │ │ │ │ ├── content.css │ │ │ │ │ └── content.vue │ │ │ │ ├── footer │ │ │ │ │ ├── footer.css │ │ │ │ │ └── footer.vue │ │ │ │ ├── header │ │ │ │ │ ├── header.css │ │ │ │ │ └── header.vue │ │ │ │ ├── index.css │ │ │ │ ├── index.js │ │ │ │ ├── main.vue │ │ │ │ └── menu │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.vue │ │ │ ├── default.js │ │ │ ├── index │ │ │ │ ├── content │ │ │ │ │ ├── content.css │ │ │ │ │ └── content.vue │ │ │ │ ├── footer │ │ │ │ │ ├── footer.css │ │ │ │ │ └── footer.vue │ │ │ │ ├── header │ │ │ │ │ ├── header.css │ │ │ │ │ └── header.vue │ │ │ │ ├── index.js │ │ │ │ └── main.vue │ │ │ ├── inline.js │ │ │ ├── layout.js │ │ │ ├── simple │ │ │ │ └── index.vue │ │ │ └── spa │ │ │ │ ├── content │ │ │ │ ├── content.css │ │ │ │ └── content.vue │ │ │ │ ├── footer │ │ │ │ ├── footer.css │ │ │ │ └── footer.vue │ │ │ │ ├── header │ │ │ │ ├── header.css │ │ │ │ └── header.vue │ │ │ │ ├── index.vue │ │ │ │ └── main.vue │ │ └── spa │ │ │ ├── index.vue │ │ │ ├── router │ │ │ ├── detail.vue │ │ │ ├── index.js │ │ │ └── list.vue │ │ │ └── store │ │ │ ├── actions.js │ │ │ ├── getters.js │ │ │ ├── index.js │ │ │ ├── mutation-type.js │ │ │ └── mutations.js │ │ ├── framework │ │ ├── app.js │ │ └── request.js │ │ ├── page │ │ └── spa │ │ │ └── index.js │ │ └── view │ │ └── layout.html │ ├── babel.config.js │ ├── config │ ├── config.default.js │ ├── config.local.js │ ├── config.prod.js │ ├── config.test.js │ ├── plugin.js │ └── plugin.local.js │ ├── package.json │ ├── test │ ├── controller │ │ └── spa.test.js │ └── utils │ │ └── helper.js │ └── webpack.config.js └── scripts ├── create.js └── shell.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | yarn.lock -------------------------------------------------------------------------------- /docs/images/admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/docs/images/admin.png -------------------------------------------------------------------------------- /docs/images/egg-webpack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/docs/images/egg-webpack.png -------------------------------------------------------------------------------- /docs/images/iblog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/docs/images/iblog.png -------------------------------------------------------------------------------- /docs/images/vue-mutil-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/docs/images/vue-mutil-page.png -------------------------------------------------------------------------------- /docs/images/vue-single-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/docs/images/vue-single-page.png -------------------------------------------------------------------------------- /docs/images/webpack-build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/docs/images/webpack-build.png -------------------------------------------------------------------------------- /docs/images/webpack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/docs/images/webpack.png -------------------------------------------------------------------------------- /docs/lerna.md: -------------------------------------------------------------------------------- 1 | # lerna 2 | 3 | ## add package 4 | 5 | - lerna add {name} --dev 6 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | "packages/*" 4 | ], 5 | "version": "5.0.0", 6 | "command": { 7 | "bootstrap": { 8 | "hoist": false, 9 | "npmClientArgs": [ 10 | "--no-package-lock", 11 | "--registry=https://registry.npm.taobao.org" 12 | ] 13 | } 14 | }, 15 | "npmClient": "yarn" 16 | } 17 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/.eslintignore: -------------------------------------------------------------------------------- 1 | test/fixtures 2 | test/benchmark 3 | test/client 4 | 5 | coverage/ 6 | private/ 7 | run/ 8 | 9 | public/ 10 | node_modules/ 11 | app/web/asset/ 12 | app/view/ -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .happypack/ 3 | node_modules/ 4 | npm-debug.log 5 | .idea/ 6 | dist 7 | static 8 | public 9 | private 10 | run 11 | *.iml 12 | artifacts.json 13 | *tmp 14 | _site 15 | logs 16 | config/buildConfig.json 17 | config/manifest.json 18 | config/manifest-dll.json 19 | app/view/* 20 | !app/view/layout.html 21 | !app/view/README.md 22 | !app/view/.gitkeep 23 | package-lock.json 24 | .gitkeep -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0", 3 | "configurations": [ 4 | { 5 | "name": "Launch Egg Vue", 6 | "type": "node", 7 | "request": "launch", 8 | "cwd": "${workspaceRoot}", 9 | "runtimeExecutable": "npm", 10 | "windows": { "runtimeExecutable": "npm.cmd" }, 11 | "runtimeArgs": [ "run", "debug" ], 12 | "console": "integratedTerminal", 13 | "protocol": "auto", 14 | "restart": true, 15 | "port": 9229, 16 | "autoAttachChildProcesses": true 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.enable": true, 3 | "eslint.run": "onSave", 4 | "editor.codeActionsOnSave": { 5 | "source.fixAll.eslint": false 6 | }, 7 | "eslint.validate": [ 8 | "javascript", 9 | { 10 | "language": "vue", 11 | "autoFix": true 12 | } 13 | ], 14 | "files.exclude": { 15 | "**/node_modules/_**": true 16 | } 17 | } -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/extend/application.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const Factory = require('../lib/db/factory'); 3 | const DBSymbol = Symbol('Application#db'); 4 | module.exports = { 5 | get db() { 6 | if (!this[DBSymbol]) { 7 | this[DBSymbol] = Factory(); 8 | } 9 | return this[DBSymbol]; 10 | }, 11 | }; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/extend/context.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | get db() { 4 | return this.app.db; 5 | } 6 | }; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/lib/db/base.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const shortid = require('shortid'); 3 | module.exports = class DB { 4 | constructor(name = 'blog.json') { 5 | this.name = name; 6 | } 7 | getUniqueId() { 8 | return shortid.generate(); 9 | } 10 | get(collectionName) { 11 | return null; 12 | } 13 | add(collectionName, json) { 14 | return null; 15 | } 16 | update(collectionName, where, json) { 17 | return null; 18 | } 19 | delete(collectionName, field) { 20 | return null; 21 | } 22 | getPager(collectionName, query) { 23 | return null; 24 | } 25 | }; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/lib/db/collection.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = class Collection { 3 | constructor(db, name) { 4 | this.db = db; 5 | this.name = name; 6 | } 7 | get() { 8 | return this.db.get(this.name); 9 | } 10 | getByWhere(json) { 11 | return this.db.get(this.name).find(json); 12 | } 13 | add(json) { 14 | return this.db.add(this.name, json); 15 | } 16 | update(where, json) { 17 | return this.db.update(this.name, where, json); 18 | } 19 | delete(field) { 20 | return this.db.delete(this.name, field); 21 | } 22 | getPager(query) { 23 | return this.db.getPager(this.name, query); 24 | } 25 | getOrderAscByField(field) { 26 | return this.get().orderBy(field, 'asc').value(); 27 | } 28 | getOrderDescByField(field) { 29 | return this.get().orderBy(field, 'desc').value(); 30 | } 31 | }; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/lib/db/factory.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const File = require('./file'); 3 | const MySQL = require('./mysql'); 4 | const MongoDB = require('./mongo'); 5 | module.exports = type => { 6 | switch (type) { 7 | case 'mysql': 8 | return new MySQL(); 9 | case 'mongo': 10 | return new MongoDB(); 11 | default: 12 | return new File(); 13 | } 14 | }; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/lib/db/mongo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const Base = require('./base'); 3 | module.exports = class MongoDB extends Base {}; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/lib/db/mysql.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const Base = require('./base'); 3 | module.exports = class MySQLDB extends Base {}; 4 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/middleware/locals.js: -------------------------------------------------------------------------------- 1 | module.exports = () => { 2 | return async function locale(ctx, next) { 3 | ctx.locals.locale = ctx.query.locale || 'cn'; 4 | ctx.locals.origin = ctx.request.origin; 5 | await next(); 6 | }; 7 | }; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/model/article.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = class Model { 4 | constructor() { 5 | this.id = void 0; 6 | this.title = undefined; 7 | this.summary = undefined; 8 | this.tag = undefined; 9 | this.hits = 0; 10 | this.createTime = Date.now(); 11 | } 12 | }; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/model/artilcedetail.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = class ArticleDetail {}; 3 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/model/user.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = class User { 3 | constructor() { 4 | this.id = null; 5 | this.name = null; 6 | this.password = null; 7 | this.roleId = null; 8 | } 9 | }; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/model/utils/base.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const Pagination = require('./pagination'); 3 | module.exports = class Model { 4 | constructor() { 5 | this.pagination = new Pagination(); 6 | } 7 | }; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/router.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = app => { 3 | const { router, controller } = app; 4 | router.redirect('/', '/asset'); 5 | router.get('/spa/api/article/list', app.controller.asset.index.list); 6 | router.get('/spa/api/article/:id', app.controller.asset.index.detail); 7 | // Asset Render 8 | router.get('/asset/simple', controller.asset.index.simple); 9 | router.get('/asset(/.*)?', controller.asset.index.spa); 10 | }; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/view/README.md: -------------------------------------------------------------------------------- 1 | ## egg规范view目录, 保证view文件夹存在, 否则app.config.view.root为空, 编译服务器文件会存放到该目录. -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/css/global.css: -------------------------------------------------------------------------------- 1 | * { 2 | padding: 0; 3 | margin: 0; 4 | outline: none; 5 | box-sizing: border-box; 6 | } 7 | html, body{ 8 | height: 100%; 9 | } 10 | 11 | a { 12 | color: #3c8dbc; 13 | text-decoration: none; 14 | } 15 | 16 | -webkit-scrollbar { 17 | width: 4px; 18 | background-color: #F5F5F5; 19 | } 20 | 21 | -webkit-scrollbar-track { 22 | box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); 23 | background-color: #F5F5F5; 24 | } 25 | 26 | -webkit-scrollbar-thumb { 27 | box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); 28 | background-color: #3e8dbb; 29 | } -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/images/egg-vue-webpack-dev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/images/egg-vue-webpack-dev.png -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/images/favicon.ico -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/images/loading.gif -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/images/logo.png -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/asset/medias/red.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/asset/medias/red.mp4 -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/admin/content/content.vue: -------------------------------------------------------------------------------- 1 | 8 | 11 | 25 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/admin/footer/footer.vue: -------------------------------------------------------------------------------- 1 | 13 | 16 | 21 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/admin/index.css: -------------------------------------------------------------------------------- 1 | .admin .search { 2 | margin-top: 8px; 3 | margin-bottom: 16px; 4 | } 5 | .admin label { 6 | padding-left: 8px; 7 | padding-right: 8px; 8 | color: #878d99 9 | } 10 | 11 | .admin .search-input{ 12 | max-width: 200px; 13 | } 14 | .admin .search-button{ 15 | margin-left: 16px; 16 | } 17 | .admin .add-button{ 18 | float:right; 19 | margin-right: 16px; 20 | } 21 | 22 | .admin .long-input { 23 | max-width: 75%; 24 | } 25 | 26 | .admin .top16 { 27 | margin-top: 16px; 28 | } -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/admin/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import MainLayout from './main.vue'; 3 | import '../../../asset/css/global.css'; 4 | import './index.css'; 5 | import createLayout from '../layout'; 6 | const tpl = '
'; 7 | export default createLayout('Layout', { MainLayout }, tpl); 8 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/admin/main.vue: -------------------------------------------------------------------------------- 1 | 9 | 32 | 42 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/admin/menu/index.js: -------------------------------------------------------------------------------- 1 | const menu = { 2 | home: { 3 | name: 'menu.home', 4 | path: '/', 5 | icon: 'el-icon-menu', 6 | }, 7 | content: { 8 | name: 'menu.articlemanage', 9 | icon: 'el-icon-document', 10 | children: { 11 | list: { 12 | name: 'menu.articlequery', 13 | icon: 'el-icon-edit-outline', 14 | path: '/article/list' 15 | }, 16 | add: { 17 | name: 'menu.articleadd', 18 | icon: 'el-icon-edit-outline', 19 | path: '/article/add' 20 | } 21 | } 22 | } 23 | }; 24 | 25 | export default menu; -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/default.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import MainLayout from './main.vue'; 3 | import '../../asset/css/global.css'; 4 | import createLayout from './layout'; 5 | const tpl = '
'; 6 | export default createLayout('Layout', { }, tpl); -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/index/content/content.vue: -------------------------------------------------------------------------------- 1 | 6 | 9 | 23 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/index/footer/footer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-team/egg-vue-webpack-boilerplate/e917151416963459c5aff5138e76f1f534b8cde9/packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/index/footer/footer.css -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/index/footer/footer.vue: -------------------------------------------------------------------------------- 1 | 24 | 27 | 32 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/index/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import MainLayout from './main.vue'; 3 | import '../../../asset/css/bootstrap.css'; 4 | import '../../../asset/css/blog.css'; 5 | import createLayout from '../layout'; 6 | export default createLayout('Layout', { MainLayout }, '
'); 7 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/index/main.vue: -------------------------------------------------------------------------------- 1 | 9 | 11 | 21 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/inline.js: -------------------------------------------------------------------------------- 1 | function inlineTest() { 2 | var name = 'Egg Vue SSR'; 3 | var desc = 'Egg Vue Server Side Render'; 4 | return name + '-' + desc; 5 | } -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/spa/content/content.vue: -------------------------------------------------------------------------------- 1 | 8 | 11 | 23 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/spa/footer/footer.vue: -------------------------------------------------------------------------------- 1 | 13 | 16 | 19 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/layout/spa/main.vue: -------------------------------------------------------------------------------- 1 | 9 | 11 | 23 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/spa/index.vue: -------------------------------------------------------------------------------- 1 | 10 | 20 | -------------------------------------------------------------------------------- /packages/egg-vue-webpack-asset-boilerplate/app/web/component/spa/router/detail.vue: -------------------------------------------------------------------------------- 1 |