TypeError:server.views不是hapi.js中的函数

时间:2016-09-13 20:43:50

标签: javascript node.js hapijs

我是node.js的初学者我正在为我的网络应用程序使用hapi框架。因为我使用把手作为模板。当我配置服务器视图时,我收到类型错误。

    'use strict';

    const hapi = require('hapi');
    const server = new hapi.Server();
    const inert = new require('inert');

    server.connection({
        host: '127.0.0.1',
        port: 8080,
    });

    //Starting server
    server.start((error) => {
        if(error){
            throw error;
        }
        console.log("Server running" + server);
    });

    server.register(inert, () => {
        console.log("hhh");
        server.views({  
            engines: {
                html: require('handlebars')
            },
            path: 'views',
            layoutPath: 'views/layout',
            layout: 'default',
            partialsPath: 'views/partials'
            //helpersPath: 'views/helpers',
        });
    });

我收到此错误:

    TypeError: server.views is not a function
at server.register (/home/developer/Workspace/kravein-test/app/backend/server.js:22:9)
at process.nextTick (/home/developer/Workspace/kravein-test/node_modules/hoek/lib/index.js:854:22)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
at Module.runMain (module.js:577:11)
at run (bootstrap_node.js:352:7)
at startup (bootstrap_node.js:144:9)
at bootstrap_node.js:467:3

我正在使用hapi 15.0.3。感谢

1 个答案:

答案 0 :(得分:2)

要使用server.views,您需要Vision plugin

e.g。与把手

const server = new Hapi.Server();
server.connection({ port: 8000 });

const handler = function (request, reply) {

    reply.view('basic/index', {
        title: 'examples/views/handlebars/basic.js | Hapi ' + request.server.version,
        message: 'Hello World!'
    });
};

server.register(require('vision'), (err) => {

    if (err) {
        throw err;
    }

    server.views({
        engines: { html: require('handlebars') },
        path: __dirname + '/templates'
    });

    server.route({ method: 'GET', path: '/', handler: handler });
});