import Vue from 'vue' import VueRouter from 'vue-router' import auth_wrapper from './vue/auth/wrapper.vue' import noauth_wrapper from './vue/noauth/wrapper.vue' /* (1) Setup: Vue, VueRouter, Authentication, ClientDriver-s */ require('./setup.js'); /* (2) Set router hooks to load page data before loading content */ gs.get.router.beforeEach((to, from, next) => { // {1} Ignore null name // if( to.name == null ) next(); // {2} Get appropriate page location // let auth_folder = (gs.get.auth) ? 'auth' : 'noauth'; let page_file = gs.get.router.history.current.name || gs.get.routes[auth_folder][0].name; // {3} Load page script // require(`./page/${auth_folder}/${page_file}.js`); console.log(`./page/${auth_folder}/${page_file}.js`); // {4} Let VueRouter do the magic // next(); }); /* (3) Select appropriate wrapper */ const wrapper = (gs.get.auth) ? auth_wrapper : noauth_wrapper; /* (4) Render view */ Vue.use(VueRouter); new Vue({ el: '#vue', router: gs.get.router, render(h){ return h(wrapper); } })