javascript - Strapi - 配置环境变量

标签 javascript node.js configuration environment strapi

使用 strapi 1.5.4

是否可以使用环境变量配置 strapi? 如果没有,您如何在不提交/公开您的数据库凭据和其他 secret 的情况下配置 strapi?

module.exports = {
  "orm": {
    "adapters": {
      "disk": "sails-disk",
      "mysql": "sails-mysql"
    },
    "defaultConnection": "default",
    "connections": {
      "default": {
        "adapter": "disk",
        "filePath": ".tmp/",
        "fileName": "default.db",
        "migrate": "alter"
      },
      "permanent": {
        "adapter": "mysql",
"user": process.env.DB_USER,
"password": process.env.DB_PASSWORD,
        "migrate": "alter"
      }
    }
  }
};

最佳答案

看起来唯一的办法就是使用钩子(Hook)。 在我的 server.js 文件中(我会将配置移到它自己的文件中并清理它)

const orm = {
  "adapters": {
    "disk": "sails-disk",
    "mysql": "sails-mysql"
  },
  "defaultConnection": "default",
  "connections": {
    "default": {
      "adapter": "disk",
      "filePath": ".tmp/",
      "fileName": "default.db",
      "migrate": "alter"
    },
    "permanent": {
      "adapter": "mysql",
      "user": process.env.DB_USER || 'root',
      "password": process.env.DB_PASSWORD || 'password',
      "database": process.env.DB_NAME || 'test',
      "host": "127.0.0.1",
      "migrate": "alter"
    }
  }
};

(function () {
  const strapi = require('strapi');
  // Use a hook to override the config
  strapi.on('hook:_config:loaded', () => {
    strapi.config.orm = orm;
  });
  strapi.start();
})();

关于javascript - Strapi - 配置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36722661/

相关文章:

javascript - 如何使用 Angular js ngClick 单击元素?

javascript - Firebase 消息传递 "This site has been updated in the background."而不是实际通知

javascript - 从 2D Canvas 的选定部分获取 RGB 颜色代码

javascript - 如何在抽屉组件上设置 zIndex

node.js - 带有 NodeJS 模块的 VJET

javascript - Node.js:如何在 function1 之后调用 function2?

node.js - 如何分发 socket.io

java - 为什么在 Spring 中有 2 种处理静态资源的方式(addResourceHandlers 和容器的 Default Servlet")?

java - Nutch-获取新发现的域

php - 在 PHP 中,将配置参数加载到应用程序变量中的正确方法是什么?