首页 > 解决方案 > 如何正确存储设置/选项

问题描述

我正在为我的前端应用程序开发一个 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 存储这些选项而不存储在会话存储中?

最佳做法是什么?

标签: 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并调用它。它非常易于管理,并且不需要在捆绑脚本关闭之外的任何地方进行存储。


推荐阅读