gpt4 book ai didi

javascript - 在全局范围内要求 Sails.js 中的模块的最佳实践?

转载 作者:可可西里 更新时间:2023-11-01 01:57:25 24 4
gpt4 key购买 nike

我目前正在构建我的 Sails.js 应用程序的身份验证部分,使用 bcrypt 来散列我的密码。一切运行良好,这是迄今为止的实现示例:

beforeCreate: function (values, next) {

require('bcrypt').hash(values.password, 10, function passwordEncrypted(err, encryptedPassword) {

if (err) return next(err);

values.password = encryptedPassword;
next();

});

}

现在,在我的 modelcontroller 中,我都在使用 require('bcrypt')var bcrypt = require('bcrypt'); 这样我就可以在类里面使用它了。

我正在寻找一种更好的方法来定义 var bcrypt = require('bcrypt'); 一次和全局,这样我就可以在任何时候简单地使用 bcrypt 变量我需要(在其他模型或 Controller 中)。

我倾向于相信 Sails.js 已经为此做好了准备?如果不是,您建议的最佳实现途径是什么?最后,我正在寻找最佳实践。

提前致谢!

最佳答案

Node.js modules are cached once they are loaded for the first time ,是否重用 require('bcrypt') 不会对性能产生任何影响。

就是说,如果您仍然按照自己的方式进行操作,您可以在 config/bootstrap.js 中要求 bcrypt 并将其添加到 sails 命名空间:

module.exports.bootstrap = function (cb) {
sails.bcrypt = require('bcrypt');

//...

cb();
}

之后,您将能够在您的 Controller 或模型中使用 sails.bcrypt

关于javascript - 在全局范围内要求 Sails.js 中的模块的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21097229/

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