Estou atribuindo uma propriedade ao objeto de janela global, mas quando executo o eslint, recebo o seguinte:
"window" não está definido
Eu vejo isso aqui nos documentos do eslint :
a seguinte janela define como uma variável global para código que não deve acionar a regra que está sendo testada:
valid: [
{
code: "window.alert()",
globals: [ "window" ]
}
]
Tentei adicionar algo assim ao arquivo package.json para que o eslint permita "window" como uma variável global, mas devo estar fazendo algo errado. A partir dos documentos, parece que talvez eu precise fazer algo assim em um arquivo separado, mas existe uma maneira de definir algumas variáveis globais permitidas diretamente no arquivo package.json?
global
, precisará garantir que"node": true
está definido em sua"env"
configuração.Respostas:
Há um builtin
environment: browser
que incluiwindow
.Exemplo
.eslintrc.json
:Mais informações: http://eslint.org/docs/user-guide/configuring.html#specifying-environments
Veja também a
package.json
resposta de chevin99 abaixo.fonte
.eslintrc
nãopackage.json
/* eslint-env browser */
Encontrei-o nesta página: http://eslint.org/docs/user-guide/configuring
No package.json, isso funciona:
fonte
Adicione
.eslintrc
na raiz do projeto.fonte
.eslintrc.json
pode ser apenas.eslintrc
Seu .eslintrc.json deve conter o texto abaixo.
Dessa forma, o ESLint conhece suas variáveis globais.
fonte
Sei que ele não está pedindo a versão em linha . Mas como essa pergunta tem quase 100 mil visitas e eu caí aqui procurando por isso, vou deixar aqui para o próximo colega programador:
Verifique se o ESLint não é executado com o
--no-inline-config
sinalizador (se isso não parecer familiar, é provável que você esteja pronto ). Em seguida, escreva isso no seu arquivo de código (para maior clareza e convenção, está escrito em cima do arquivo, mas funcionará em qualquer lugar):Isso informa ao ESLint que seu ambiente de trabalho é um navegador, então agora ele sabe quais coisas estão disponíveis em um navegador e se adapta de acordo.
Existem muitos ambientes e você pode declarar mais de um ao mesmo tempo, por exemplo, em linha:
Se você quase sempre usa ambientes específicos, é melhor configurá-lo no arquivo de configuração do ESLint e esquecê-lo.
Dos documentos deles :
Além dos ambientes, você pode ignorar o que quiser. Se ele avisar sobre o uso,
console.log()
mas você não quiser ser avisado, basta inserir:Você pode ver a lista de todas as regras , incluindo as regras recomendadas para as melhores práticas de codificação .
fonte
Se você estiver usando Angular, poderá desabilitá-lo com:
fonte