Este é o erro que recebo ao usar const:
<error line="2" column="1" severity="warning" message="'const' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz)." source="jshint.W104" />
Meu código fica assim:
const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};
O código funciona bem apenas JSHint está me avisando o tempo todo.
"use esnext option"
. E porque? Essa mensagem de erro não é clara?const
ainda não é o JS padrão.Respostas:
Ao confiar nos recursos do ECMAScript 6, como
const
, você deve definir esta opção para que o JSHint não apresente avisos desnecessários./ * jshint esnext: true * /( Edit 2015.12.29 : sintaxe atualizada para refletir os comentários de @ Olga )Essa opção, como o nome sugere, informa ao JSHint que seu código usa sintaxe específica do ECMAScript 6. http://jshint.com/docs/options/#esversion
Editar 2017.06.11 : adicionada outra opção com base nesta resposta .
Enquanto a configuração embutida funciona bem para um arquivo individual, você também pode habilitar essa configuração para todo o projeto, criando um
.jshintrc
arquivo na raiz do seu projeto e adicionando-o.fonte
Warning This option has been deprecated and will be removed in the next major release of JSHint. Use esversion: 6 instead.
Embora meu plug-in incorporado de Webstorm não reconheça uma nova opção. Acabei especificando ambos.Você pode adicionar um arquivo chamado .jshintrc na raiz do seu aplicativo com o seguinte conteúdo para aplicar essa configuração a toda a solução :
A resposta de James sugere que você pode adicionar um comentário
/*jshint esversion: 6 */
para cada arquivo, mas é mais trabalhoso do que o necessário se você precisar controlar muitos arquivos.fonte
.jshintrc
.JSHint will start looking for this file in the same directory as the file that's being linted. If not found, it will move one level up the directory tree all the way up to the filesystem root. (Note that if the input comes from stdin, JSHint doesn't attempt to find a configuration file)
Recebi o mesmo aviso ao usar uma instrução de exportação. Estou usando o VS Code e usei uma abordagem semelhante à solução de Wenlong Jiang.
"jshint.options": {}
(Editar)Use aspas duplas ao especificar
"esversion"
Ou copie esse snippet nas Configurações do usuário:
.jshintrc
Não é necessário criar um arquivo se você deseja definir as configurações globais de jshint para o seu editor.fonte
Se você estiver usando o VSCode:
1
cmd + ,
)jshint.options
na barra de pesquisa"esversion": 6
ao objeto de opções.2)
Ou simplesmente adicione isso às suas configurações de usuário:
[UPDATE] novas configurações de vscode
cmd + ,
)jshint
na pesquisa2.
fonte
Passei séculos tentando consertar isso. Toda solução fala sobre 'opções de configuração'. Não sei o que isso significa. Finalmente, eu descobri. Você pode incluir apenas uma linha comentada na parte superior do arquivo
/*jshint esversion: 6 */
.fonte
.jshintrc
e, em seguida, adicione o seguinte código para o arquivo{ "esnext": true }
{ "esnext": true }
agora está obsoleto . Agora você deve usar{ "esversion": 6 }
."esnext": true
eu consegui resolver isso."esversion": 6
não teve efeito.Você pode especificar esversion: 6 dentro do objeto de opções jshint. Por favor, veja a imagem. Estou usando o plugin grunt-contrib-jshint.
fonte
Quando você começa a usar o ECMAScript 6, esse erro é gerado pelo seu IDE.
Existem duas opções disponíveis:
se você possui apenas um arquivo e deseja usar o es6, basta adicionar a linha abaixo na parte superior do arquivo.
Ou, se você possui um número de arquivos js ou está usando alguma estrutura (como o nodejs express), pode criar um novo arquivo nomeado
.jshintrc
em seu diretório raiz e adicionar o código abaixo no arquivo:Se você quiser usar a versão es6 em diante para cada projeto, poderá configurar seu IDE.
fonte
No package.json, você pode dizer ao Jshint para usar o es6 assim
fonte
Se você estiver usando Webstorm e se não tiver seu próprio arquivo de configuração, ative as
EcmaScript.next
opções Relaxing in inVeja esta pergunta Como faço para resolver estes erros de JSHint-ES6
fonte
Se você estiver usando a configuração do Grunt, precisará executar as seguintes etapas
Mensagem de aviso no Jshint:
Solução:
Depois de configurado, execute novamente. Irá pular o aviso,
fonte
Crie um arquivo chamado, digamos jshint_opts, com este conteúdo: {"esversion": 6}
Em seguida, chame o jshint com algo como esta linha de comando:
jshint --config jshint_opts lib / * .js
fonte
Para o SublimeText 3 no Mac:
fonte
Maio 2020 Aqui está uma solução simples que eu encontrei e ele vai resolver para todos os meus projetos, nas janelas se o seu projeto está em algum lugar dentro de c: diretório, crie novo .jshintrc arquivo e salvá-lo no diretório C abrir este arquivo .jshintrc e escrever
{ "esversion": 6}
e que é isto. os avisos devem desaparecer, o mesmo funcionará no diretório dsim, você também pode habilitar essa configuração para o projeto específico apenas criando um arquivo .jshintrc na raiz do seu projeto e adicionando
{ "esversion": 6}
fonte
Crie um
.jshintrc
arquivo no diretório raiz e adicione lá a versão js mais recente:"esversion": 9
e a versão asi:"asi": true
(isso ajudará você a evitar o uso de ponto e vírgula)fonte
Para corrigir isso no Dreamweaver CC 2018, fui às preferências, edite o conjunto de regras - selecione JS, edite / aplique alterações, encontre "esnext" e alterei a configuração falsa para true. Funcionou para mim depois de horas de pesquisa. Espero que ajude os outros.
fonte
Se você estiver usando o Sublime Text 3:
fonte
Em uma nova versão do Dreamweaver para resolver esse erro
E o conjunto de regras go-to js Edit e o passado
"jshintConfig": {"esversion": 6}
fonte