静态应用程序设置的位置

时间:2016-07-29 07:46:43

标签: reactjs redux react-redux

我正在开发Redux / ReactJS应用程序,我有一个应用程序设置列表。

我试图决定是否应该在商店中使用它们,或者我是否应该创建一个包含设置的文件并将其导入我需要的地方。

2 个答案:

答案 0 :(得分:0)

应用程序设置应该只是某个文件中的const。这样,对于不同的配置,可以切换设置。

设置文件的示例可以是:

let apiUrl = 'http://prodUrl';

// __DEV__ defaults to true in simulator.
if (__DEV__) {
  apiUrl = 'http://devUrl';
}

export const settings = {
  apiUrl,
  registerUrl: `${apiUrl}/api/register`,
  educationUrl: `${apiUrl}/api/education`,
};

答案 1 :(得分:0)

这取决于“应用程序设置”的性质。

对于安全的事情

与API密钥等类似。使用环境变量。您可以使用类似dotenv的内容来更轻松地模拟其他环境。

对于常量

像字符串,颜色和外部URL一样,我使用带有多个导出的常量文件。然后在每个模块中我导入我需要的任何东西,如:

import {
  ANIMATION_DURATION,
  COLORS,
  MODALS,
  TEXT_PADDING,
} from '../../constants.js';

针对特定环境的事物(例如dev,prod ......)

例如API URL或日志级别等使用一组配置文件。因此,您可能会有一个config-dev.jsconfig-prod.js,然后一个config.js根据process.env.NODE_ENV

返回正确的文件内容