默认 sails 网络应用程序中的 sails.helpers 函数来自哪里

Where are sails.helpers functions coming from in the default sails web app

我很好奇 sails.helpers.x.y() 函数在 sails 附带的示例 Web 应用程序中的来源。

在 运行 sails new test-project 之后,选择 Web 应用程序并环顾四周,我注意到许多文件正在调用 sails.helpers.passwords.hashPassword().

等函数

然而,当查看 helpers 文件夹时,唯一的文件 send-template-email 没有任何类似于散列密码的函数。

我已经阅读了有关 sails 辅助函数的文档 here,它没有提到任何默认的辅助函数,例如 hashPassword。我在vscode里也调试过,发现sails.helpers.passwords.hashpassword()确实定义了,但是我在源码里找也找不到。

有人知道这些帮手是从哪里来的吗?

作为参考,我调试到 hashPassword() 调用的代码部分位于 signup.js 此处:

var newUserRecord = await User.create(_.extend({
      emailAddress: newEmailAddress,
      password: await sails.helpers.passwords.hashPassword(inputs.password),
      fullName: inputs.fullName,
      tosAcceptedByIp: this.req.ip
    }, sails.config.custom.verifyEmailAddresses? {
      emailProofToken: await sails.helpers.strings.random('url-friendly'),
      emailProofTokenExpiresAt: Date.now() + sails.config.custom.emailProofTokenTTL,
      emailStatus: 'unconfirmed'
    }:{}))

它们来自 sails-hook-organics 包,请在此处检查密码方法,https://github.com/sailshq/sails-hook-organics/blob/a27db6c93e7333f5036a54ceb13a2e3b3fa0ae26/OTHER-USEFUL-METHODS.md