ESLint禁用localStorage和sessionStorage

时间:2016-02-16 16:38:26

标签: javascript local-storage eslint

当代码使用localStoragesessionStorage时,有没有办法配置ESLint以引发错误?

这是必需的,因为我使用第三方库进行存储,我希望通过它完成所有存储。

我已经尝试过搜索插件,没有结果。

3 个答案:

答案 0 :(得分:1)

ESLint目前没有这方面的规则。 id-blacklist只会阻止您使用指定的名称创建变量/函数。有两个开放的规则建议可以让您这样做:no-restricted-globalsno-restricted-properties。 但您可以轻松创建一个可执行此操作的插件,只需复制no-alert规则并将名称更改为localStoragesessionStorage

答案 1 :(得分:0)

我创建了一个ESlint plugin,可以在每次使用sessionStorage和localStorage时发出警报。

答案 2 :(得分:0)

如果您想禁止所有 no-restricted-syntax 调用,也可以使用 localStorage.method()

'no-restricted-syntax': [
  'error',
  {
    selector: "CallExpression[callee.object.name='localStorage']",
    message: 'Do not use `localStorage` directly, use the storage wrapper instead',
  },
  {
    selector: "CallExpression[callee.object.name='sessionStorage']",
    message: 'Do not use `sessionStorage` directly, use the storage wrapper instead',
  },
],