Ошибка: функция рендеринга или шаблон не определены в компоненте: анонимный - PullRequest
0 голосов
/ 11 января 2019

Попробуйте пример из руководства из https://ssr.vuejs.org/guide/#using-a-page-template, но в учебнике должно быть что-то не так.

const Vue = require('vue');
const server = require('express')();
const vssr = require('vue-server-renderer');

server.get('*', (req, res) => {
    const renderer = vssr.createRenderer({
        template: require('fs').readFileSync('./templates/index.html', 'utf-8')
    });

    const context = {
        title: 'hello',
        meta: `
            <meta ...>
            <meta ...>
        `
    };

    const app = new Vue({});

    renderer.renderToString(app, context, (err, html) => {
        if (err) {
            console.log(err);
            process.exit();
        }
        console.log(html);
    });

});

server.listen(6081);

Когда я открываю свою страницу, я получаю сообщение об ошибке:

Ошибка: функция рендеринга или шаблон не определены в компоненте: анонимный

at normalizeRender

1 Ответ

0 голосов
/ 11 января 2019

Попробуйте указать свойство template или render в экземпляре Vue.

new Vue({ template: `<div>Hello there!</div>` })

Следующие строки ниже означают только то, что вы хотите использовать свой собственный шаблон страницы для средства визуализации, где разметка вашего приложения будет добавлена ​​позже.

const renderer = vssr.createRenderer({
    template: require('fs').readFileSync('./templates/index.html', 'utf-8')
});
...