我开始使用Hapi nodejs框架。我正在使用" hapi@17.2.0"这是我在server.js中启动应用程序的代码。
'use strict';
const Hapi = require('hapi');
const server = new Hapi.Server();
server.connection({ port: 3000, host: 'localhost' });
server.route({
method: 'GET',
path: '/',
handler: function (request, reply) {
reply('Hello, world!');
}
});
server.start((err) => {
if (err) {
throw err;
}
console.log(`Server running at: ${server.info.uri}`);
});
使用node server.js
从终端运行我的项目后,它会抛出错误,如下所示。
/var/www/html/hello_hapi/server.js:6
server.connection({ port: 3000, host: 'localhost' });
^
TypeError: server.connection is not a function
at Object.<anonymous> (/var/www/html/hello_hapi/server.js:6:8)
at Module._compile (module.js:612:30)
at Object.Module._extensions..js (module.js:623:10)
at Module.load (module.js:531:32)
at tryModuleLoad (module.js:494:12)
at Function.Module._load (module.js:486:3)
at Function.Module.runMain (module.js:653:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
答案 0 :(得分:12)
我找到了解决我的错误的解决方案。我刚刚换了郎
server.connection({ port: 3000, host: 'localhost' });
与
const server = new Hapi.Server({ port: 3000, host: 'localhost' });
以下是说明: 根据hapi v17.0.0,他们删除了对单个服务器的多个连接的支持
答案 1 :(得分:0)
在hapi 16中,有对server.connection()的支持,但是在hapi 17中,它们代替了server.connection(),而是
const Hapi = require('hapi')
const server = Hapi.server({
port:3000 || process.env.port
})
这可以在节点js中使用。
如果您使用打字稿和打字,那么
const server = new Hapi.server({port:3000 || process.env.port})
答案 2 :(得分:0)
替换为
const server = new Hapi.Server({
host: 'localhost',
port: 3000
})
如果您正在使用此
server.connection({
port: 8000,
host: 'localhost'
});