UNPKG

sav-vue-demo

Version:
225 lines (183 loc) 6.47 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var Koa = _interopDefault(require('koa')); var bodyParser = _interopDefault(require('koa-bodyparser')); var favicon = _interopDefault(require('koa-favicon')); var staticCache = _interopDefault(require('koa-static-cache')); var savRouter = require('sav-router'); var savRouterSchema = require('sav-router-schema'); var savRouterView = require('sav-router-view'); var savVue = require('sav-vue'); var savDecorator = require('sav-decorator'); var path = require('path'); var _dec; var _dec2; var _dec3; var _class; var _class2; function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object['ke' + 'ys'](descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object['define' + 'Property'](target, property, desc); desc = null; } return desc; } let posts = [{ id: 1, title: 'post 1 title', content: 'post 1 content' }, { id: 2, title: 'post 2 title', content: 'post 2 content' }]; let Article = (_dec = savDecorator.props({ vue: true }), _dec2 = savRouter.get(), _dec3 = savRouter.get('post/:postId'), savDecorator.gen(_class = _dec(_class = (_class2 = class Article { posts() { return { title: '文章列表', posts }; } post({ params }) { return { title: '文章预览', post: posts[params.postId - 1] }; } }, (_applyDecoratedDescriptor(_class2.prototype, 'posts', [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, 'posts'), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, 'post', [_dec3], Object.getOwnPropertyDescriptor(_class2.prototype, 'post'), _class2.prototype)), _class2)) || _class) || _class); var _dec$1; var _dec2$1; var _dec3$1; var _class$1; var _class2$1; function _applyDecoratedDescriptor$1(target, property, decorators, descriptor, context) { var desc = {}; Object['ke' + 'ys'](descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object['define' + 'Property'](target, property, desc); desc = null; } return desc; } let Account = (_dec$1 = savDecorator.props({ vue: true }), _dec2$1 = savRouter.get(), _dec3$1 = savRouter.get(), savDecorator.gen(_class$1 = _dec$1(_class$1 = (_class2$1 = class Account { login() { return { title: '登录', message: 'Welcome to Sign In' }; } register() { return { title: '注册', welcome: { title: 'Welcome to Sign Up' } }; } }, (_applyDecoratedDescriptor$1(_class2$1.prototype, 'login', [_dec2$1], Object.getOwnPropertyDescriptor(_class2$1.prototype, 'login'), _class2$1.prototype), _applyDecoratedDescriptor$1(_class2$1.prototype, 'register', [_dec3$1], Object.getOwnPropertyDescriptor(_class2$1.prototype, 'register'), _class2$1.prototype)), _class2$1)) || _class$1) || _class$1); var _dec$2; var _dec2$2; var _dec3$2; var _class$2; var _class2$2; function _applyDecoratedDescriptor$2(target, property, decorators, descriptor, context) { var desc = {}; Object['ke' + 'ys'](descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object['define' + 'Property'](target, property, desc); desc = null; } return desc; } let Home = (_dec$2 = savDecorator.props({ vue: true, route: { path: '' } }), _dec2$2 = savRouter.get('~'), _dec3$2 = savRouter.get(), savDecorator.gen(_class$2 = _dec$2(_class$2 = (_class2$2 = class Home { index() { return { title: '主页' }; } about() { return { title: '关于' }; } }, (_applyDecoratedDescriptor$2(_class2$2.prototype, 'index', [_dec2$2], Object.getOwnPropertyDescriptor(_class2$2.prototype, 'index'), _class2$2.prototype), _applyDecoratedDescriptor$2(_class2$2.prototype, 'about', [_dec3$2], Object.getOwnPropertyDescriptor(_class2$2.prototype, 'about'), _class2$2.prototype)), _class2$2)) || _class$2) || _class$2); var pages = [Account, Article, Home]; let port = 3000; let app = new Koa(); app.use(favicon(path.resolve(__dirname, '../favicon.ico'))); app.use(staticCache(path.resolve(__dirname, '../static'), { maxAge: 365 * 24 * 60 * 60 })); app.use(bodyParser()); let BUILD_VUE_ROUTER = !!process.env.BUILD_VUE_ROUTER; let router = new savRouter.Router({ case: 'camel', viewRoot: path.resolve(__dirname, 'views'), vueRoot: path.resolve(__dirname, 'views'), vueDest: path.resolve(__dirname, '../static/js'), vueLiveCompiled: !BUILD_VUE_ROUTER && process.env.NODE_ENV !== 'production' }); router.use(savRouterSchema.schemaPlugin); router.use(savVue.vuePlugin); router.use(savRouterView.viewPlugin); router.declare([].concat(pages)); app.use(router.route()); if (!BUILD_VUE_ROUTER) { app.listen(port); console.log(`server: http://localhost:${port}`); } exports.router = router;