静态应用程序设置的位置

Location of static application settings

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

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

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

设置文件的示例可以是:

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`,
};

这取决于 'application settings' 的性质。

为了安全

喜欢API键等。使用环境变量。您可以使用 dotenv 之类的东西来更轻松地模拟其他环境。

对于常量

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

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

针对特定于环境的事物(例如开发、生产...)

例如API URL 或日志级别等使用一组配置文件。所以你可能有一个 config-dev.jsconfig-prod.js 然后 config.js returns 基于 process.env.NODE_ENV

的正确文件内容