静态应用程序设置的位置
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.js
和 config-prod.js
然后 config.js
returns 基于 process.env.NODE_ENV
的正确文件内容
我正在开发一个 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.js
和 config-prod.js
然后 config.js
returns 基于 process.env.NODE_ENV