sav-vue-demo
Version:
sav vue demo
225 lines (183 loc) • 6.47 kB
JavaScript
;
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;