gpt4 book ai didi

hapijs - Hapi 服务器方法 vs server.app.doSomething

转载 作者:行者123 更新时间:2023-12-01 12:36:14 25 4
gpt4 key购买 nike

我正在编写一个 hapi js 插件,并且想知道其他插件可以使用的公开方法的两种方式之间有什么区别。

方法一:

server.method("doSomething",
function () {
// Something
});

方法二:
server.app.doSomething = function () {
// Something
};

在第一种方法中,该函数稍后可以作为 server.doSomething() 调用,而使用第二种方法作为 server.app.doSomething()。

那么为什么我要使用一种方式而不是另一种方式呢?

最佳答案

查看 API 文档,听起来他们打算将 server.methods 用于函数,将 server.app 用于应用程序设置/配置。我的猜测是,如果您想公开要在插件中使用的服务器级方法,您应该坚持使用 server.method。

server.methods

An object providing access to the server methods where each server method name is an object property.

var Hapi = require('hapi');
var server = new Hapi.Server();

server.method('add', function (a, b, next) {

return next(null, a + b);
});

server.methods.add(1, 2, function (err, result) {

// result === 3
});

server.app

Provides a safe place to store server-specific run-time application data without potential conflicts with the framework internals. The data can be accessed whenever the server is accessible. Initialized with an empty object.

var Hapi = require('hapi');
server = new Hapi.Server();
server.app.key = 'value';

var handler = function (request, reply) {

return reply(request.server.app.key);
};

关于hapijs - Hapi 服务器方法 vs server.app.doSomething,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29562438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com