错误:渲染函数或模板未在组件中定义:匿名

时间:2019-01-11 13:08:19

标签: node.js vue.js vue-ssr

尝试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);

打开页面时,出现错误消息:

  

错误:呈现函数或模板未在组件中定义:匿名

     

在normalizeRender

1 个答案:

答案 0 :(得分:0)

尝试在Vue实例中提供template属性或render函数。

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

以下几行仅表示您要为渲染器使用自己的页面模板,稍后将在其中插入应用程序的标记。

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