javascript - 如何正确存储设置/选项
问题描述
我正在为我的前端应用程序开发一个 JS 库(使用 webpack 打包)。
这个库很简单,但需要配置:
src/index.js :
export const init = (options) => {
...
}
这个库有一堆依赖于传递选项的服务:
src/services/index.js :
export const checkPerson = (person) => {
// I have to use the "options" (passed in the "init")
}
问题是我不知道如何存储开发人员填充的选项,以便我可以在其他服务中使用这些选项?
是否可以使用 JavaScript 存储这些选项而不存储在会话存储中?
最佳做法是什么?
解决方案
在这种情况下,我通常做的是我有一个专门的模块来存储和检索设置:
// src/settings.js
let settings;
export const setSettings = (newSettings) => {
settings = newSettings;
};
export const getSettings = () => settings;
// src/index.js
import { setSettings } from './settings';
export const init = (options) => {
setSettings(options);
// ...
};
// src/services/index.js
import { getSettings } from '../settings';
export const checkPerson = (person) => {
const settings = getSettings();
// use settings
};
每当一个模块需要知道设置是什么时,只需导入getSettings
并调用它。它非常易于管理,并且不需要在捆绑脚本关闭之外的任何地方进行存储。
推荐阅读
- azure - Azure IoT 设备需要在离线时获取所需的属性
- java - 从一个对象到另一个对象的Java条件映射?
- asp.net-core - 我们如何在asp.net 2.1核心应用程序的启动类中注册IHttpContextAccessor?
- r - 如何在 R 中查找
- python - 更改散点图中的标记大小
- python-asyncio - asyncio 的 call_soon 失败,而 create_task 没有
- javascript - 在 Xamarin.Forms WebView 中执行 Javascript
- c# - WPF C#设置为自动后获取网格高度
- ios - 在 xCode 存档的导出中,如何从命令行禁用目标签名
- vba - 使用书签访问 Word,如果书签留空,如何执行操作