ESLint 禁用 localStorage 和 sessionStorage
ESLint disable localStorage and sessionStorage
有没有办法配置 ESLint 在代码使用 localStorage
或 sessionStorage
时抛出错误?
这是必需的,因为我使用第三方库进行存储,我希望所有存储都通过它完成。
我已经尝试搜索插件,但没有结果。
ESLint 目前没有这方面的规则。 id-blacklist
只会阻止您使用指定的名称创建 variables/function。有两个开放的规则提案可以让您这样做:no-restricted-globals
和 no-restricted-properties
。
但是您可以轻松地创建一个插件来执行此操作,只需复制 no-alert
规则并将名称更改为 localStorage
和 sessionStorage
.
我创建了一个 ESlint plugin 在每次使用 sessionStorage 和 localStorage 时发出警报。
如果您想禁止所有 localStorage.method()
次通话,您也可以使用 no-restricted-syntax
。
'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',
},
],
有没有办法配置 ESLint 在代码使用 localStorage
或 sessionStorage
时抛出错误?
这是必需的,因为我使用第三方库进行存储,我希望所有存储都通过它完成。
我已经尝试搜索插件,但没有结果。
ESLint 目前没有这方面的规则。 id-blacklist
只会阻止您使用指定的名称创建 variables/function。有两个开放的规则提案可以让您这样做:no-restricted-globals
和 no-restricted-properties
。
但是您可以轻松地创建一个插件来执行此操作,只需复制 no-alert
规则并将名称更改为 localStorage
和 sessionStorage
.
我创建了一个 ESlint plugin 在每次使用 sessionStorage 和 localStorage 时发出警报。
如果您想禁止所有 localStorage.method()
次通话,您也可以使用 no-restricted-syntax
。
'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',
},
],