UNPKG

node-atlas

Version:

Progressive realtime web framework config-driven or API-driven for building easily serverless files, websites and webapps component-based and service-oriented.

72 lines (68 loc) 2.13 kB
/* jshint browser: true */ /* global NA, ga, Vue, VueRouter, require */ var ua = document.body.getAttribute('data-ua'), lang = document.getElementsByTagName("html")[0].getAttribute("lang"), routes = require("routes.json!json"), mixin = { beforeRouteEnter: function (to, from, next) { next(function (vm) { document.title = vm.meta.title; }); } }, vmHome = Vue.component('home', function (resolve) { var template = require("views-models/home.htm!text"), specific = require("variations/home.json!json"); resolve(require('views-models/home.js')(specific, template, mixin)); }), vmProjects = Vue.component('projects', function (resolve) { var template = require("views-models/projects.htm!text"), specific = require("variations/projects.json!json"); resolve(require('views-models/projects.js')(specific, template, mixin)); }), vmContact = Vue.component('contact', function (resolve) { var template = require("views-models/contact.htm!text"), specific = require("variations/contact.json!json"); resolve(require('views-models/contact.js')(specific, template, mixin)); }), vmError = Vue.component('error', function (resolve) { var template = require("views-models/error.htm!text"), specific = require("variations/error.json!json"); resolve(require('views-models/error.js')(specific, template, mixin)); }), vm; vm = new Vue({ router: new VueRouter({ mode: 'history', base: '/', routes: [{ path: routes["home_" + lang].url, component: vmHome, props: ['common'] }, { path: routes["projects_" + lang].url, component: vmProjects, props: ['common'] }, { path: routes["contact_" + lang].url, component: vmContact, props: ['common'] }, { path: '/*', component: vmError, props: ['common'] }] }), template: require("views-models/app.htm!text"), data: { common: require("variations/common.json!json"), webconfig: { routes: routes } } }); vm.$mount('.layout'); NA.socket.emit("init-app"); NA.socket.on("init-app", function (me) { vm.me = me; });