Remove Vue template server-side prerendering because of limitations

This commit is contained in:
Steve Sanderson
2017-03-10 12:20:16 +00:00
parent 119b274c19
commit c3ad9e8c2f
9 changed files with 30 additions and 103 deletions

View File

@@ -1,10 +0,0 @@
import Vue from 'vue';
import VueRouter from 'vue-router';
import { routes } from './routes';
Vue.use(VueRouter);
new Vue({
el: '#app-root',
router: new VueRouter({ mode: 'history', routes: routes }),
render: h => h(require('./components/app/app.vue.html'))
});

View File

@@ -1,16 +0,0 @@
import Vue from 'vue';
import VueRouter from 'vue-router';
import { createServerRenderer, RenderResult } from 'aspnet-prerendering';
import { createBundleRenderer } from 'vue-server-renderer';
import { routes } from './routes';
Vue.use(VueRouter);
export default function(context: any) {
const router = new VueRouter({ mode: 'history', routes: routes })
router.push(context.url);
return new Vue({
render: h => h(require('./components/app/app.vue.html')),
router: router
});
}

View File

@@ -1,18 +0,0 @@
import { createServerRenderer, RenderResult } from 'aspnet-prerendering';
import { createBundleRenderer } from 'vue-server-renderer';
const path = require('path');
const bundleRenderer = createBundleRenderer(path.resolve('ClientApp/dist/vue-ssr-bundle.json'), {
template: '<!--vue-ssr-outlet-->'
});
export default createServerRenderer(params => {
return new Promise<RenderResult>((resolve, reject) => {
bundleRenderer.renderToString(params, (error, html) => {
if (error) {
reject(error);
} else {
resolve({ html: html });
}
});
});
});

View File

@@ -0,0 +1,15 @@
import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);
const routes = [
{ path: '/', component: require('./components/home/home.vue.html') },
{ path: '/counter', component: require('./components/counter/counter.vue.html') },
{ path: '/fetchdata', component: require('./components/fetchdata/fetchdata.vue.html') }
];
new Vue({
el: '#app-root',
router: new VueRouter({ mode: 'history', routes: routes }),
render: h => h(require('./components/app/app.vue.html'))
});

View File

@@ -1,5 +0,0 @@
export const routes = [
{ path: '/', component: require('./components/home/home.vue.html') },
{ path: '/counter', component: require('./components/counter/counter.vue.html') },
{ path: '/fetchdata', component: require('./components/fetchdata/fetchdata.vue.html') }
];