在sails.js钩子中提供默认配置选项的正确方法是什么?

时间:2016-12-12 21:59:36

标签: sails.js sails-hook

我正在使用sails hook(项目挂钩)。我想让它可配置,需要一种方法来提供默认值。

我找不到有关sails hooks documentation的信息。

这是一个示例钩子:

// api/hooks/customHook.js
module.exports = function customHook(sails) {
  return {
    configure: function () {
      console.log("Configure: ");
      console.log(sails.config[this.configKey]);
    },

    initialize: function (cb) {
      console.log("Initialize: ");
      console.log(sails.config[this.configKey]);
    },
  };
};

当我取消我的应用程序而没有创建 config / customhook.js 文件时,我得到以下输出:

  

配置:
  未定义
  初始化:
  未定义

我需要一种方法来为可配置值定义默认值(让我们将其命名为 configurableValue )。帆中有什么东西可以帮助我们,或者我们必须“手动”这样做,如果我们有嵌套的配置键,这可能会很痛苦:

// api/hooks/customHook.js
module.exports = function customHook(sails) {
  return {
    configure: function () {
      if (typeof sails.config[this.configKey] == "undefined") {
        sails.config[this.configKey] = {};
      }

      if (typeof sails.config[this.configKey].configurableValue == "undefined") {
        sails.config[this.configKey].configurableValue = "defaultValue";
      }
    },

    initialize: function (cb) {
      console.log("Initialize: ");
      console.log(sails.config[this.configKey]);
    },
  };
};

P.S。:我知道有很多NPM模块可以帮助我,包括lodash,但我正在寻找帆推荐的方法。

0 个答案:

没有答案