Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ESLint禁用本地存储和会话存储_Javascript_Local Storage_Eslint - Fatal编程技术网

Javascript ESLint禁用本地存储和会话存储

Javascript ESLint禁用本地存储和会话存储,javascript,local-storage,eslint,Javascript,Local Storage,Eslint,当代码使用localStorage或sessionStorage时,是否有方法将ESLint配置为抛出错误 这是必要的,因为我使用第三方库进行存储,我希望所有的存储都通过它来完成 我已经尝试搜索插件,但没有结果。ESLint目前没有这方面的规则id黑名单只会阻止您使用指定的名称创建变量/函数。有两个开放的规则提案允许您这样做: 和。 但是你可以很容易地创建一个插件来实现这一点,只需复制no alert规则并将名称更改为localStorage和sessionStorage我创建了一个插件,它可以

当代码使用
localStorage
sessionStorage
时,是否有方法将ESLint配置为抛出错误

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


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

ESLint目前没有这方面的规则<代码>id黑名单只会阻止您使用指定的名称创建变量/函数。有两个开放的规则提案允许您这样做: 和。
但是你可以很容易地创建一个插件来实现这一点,只需复制
no alert
规则并将名称更改为
localStorage
sessionStorage

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

你也可以使用
无限制语法
,如果要禁止所有
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',
  },
],

这可能有点超出范围,但是这样一个插件的用例是什么?我不明白为什么不允许它使用本地或会话存储。使用这个有很大的缺点吗?当然可以@Bram。我的项目使用第三方库来管理会话/本地存储(处理紧急情况,在不存在时模拟它,等等)。因此,我希望强制执行所有存储的使用都将通过该第三方库进行,而不是直接进行。另一个使用案例:由于可以在浏览器中关闭localStorage/sessionStorage(认为匿名模式/所有Cookie都已关闭),因此直接访问这些结构是不安全的。相反,当这些构造不可用时,应该使用这些构造的包装器来防止错误。在这种情况下,应防止包装内以外的直接使用。