JSLint está disponível para uso off-line?
-
08-07-2019 - |
Pergunta
Eu gostaria de usar JSLint , mas eu estou desconfiado de ferramentas que têm acesso a minha fonte não filtrada código. Existe uma versão offline ou há outra ferramenta semelhante que faz "a verificação de erros lint
" para JavaScript offline?
Editar:? Um com uma GUI e que mostra uma lista de estilo de erros, em vez de uma interface de linha de comando
Solução
Se você gosta do JSLint interface web , você pode fazer File
> Save Page As...
e Save as type:
Web Page, complete
(no Firefox, fazê-lo no Internet Explorer pode ser ligeiramente diferente) para uma pasta local.
Eu mudar o nome para jslint.htm
para obtê-lo sob 8.3, sem espaços.
Parece que funciona quando salvas localmente.
Três coisas:
- Isto pode violar sua licença, apesar de eu deixar de Direitos Autorais intacta e não modificar nada do seu código, e tecnicamente meu navegador web já criou uma cópia do seu site no meu HD local, por isso não tenho certeza se eu 'm em violação ou não e eu não sou um advogado, então eu vou continuar fazendo isso até eu receber uma carta dizendo-me para parar.
- A página pode de alguma forma ainda ser capaz de enviar o código para a Internet, embora a chance de ser possível, é muito remota. Dito isto, as versões WSH ou Rhino provavelmente poderia enviar o código que você enviar para a Internet mais fácil do que uma versão de uma página da web salvas localmente poderia (se você for paranóico).
- Você vai ficar atrás em quaisquer correções ou atualizações Douglas faz. Mas a mesma coisa se aplica às versões WSH ou Rhino se você não atualizá-los regularmente.
Outras dicas
JSLint podem ser executados offline com qualquer WSH ou Rhino:
http://www.jslint.com/lint.html#try
Editar : Nos dois anos desde que esta pergunta foi feita, JSLint abandonou o suporte a Rhino e WSH. I incentivamos qualquer pessoa interessada em linting seu código para verificar também para fora JSHint . É um fork do JSLint que pretende ser mais flexível do que o original, mas também acontece para apoiar Node, Rhino, e WSH (além de navegadores, é claro).
Sim:
- No Windows, use jslint.js + WSH .
- Em sistemas que podem executar Rhino, use jslint.js + Rhino .
Basicamente, você só precisa de um compilador de JavaScript incorporado para jslint.js
prazo.
Há um outro JS Linter, chamado JavaScript Lint , que tem ambas as versões de linha de comando on-line e para download. Eu uso a versão para download todos os tempos. Eu estive pensando sobre integrando-o SVN como parte de um gancho. Eu gosto melhor do que JSLint porque tem mais opções e parece detectar mais coisas. Ele pode ser configurado para tratar certos identificadores como pré-definidos, para kits de ferramentas e afins, o que lhe permite verificar se há uso de variáveis ??indefinidas, que eu tenho certeza que JSLint não pode fazer.
Se você estiver em um ambiente Java, você pode encontrar o meu jslint4java ferramenta útil . Ele vem em uma variante da linha de comando, e também pode ser integrado em um script ant. No GUI, porque eu chupar mal para aqueles. : -)
YSlow para Firebug tem esse recurso construído em
Se você usar TextMate, eu fiz um pacote que corre JSLint e exibe a saída em uma janela gráfica. É tudo auto-suficiente; necessidades nada mais para ser instalado para usá-lo:
Eu tenho uma ferramenta para a execução de JSLint na linha de comando ou com o SpiderMonkey shell ou Rhino . Ele também inclui um plugin para Vim que permite que você pressionar um botão para automaticamente destacar as linhas problemáticas durante a edição de um arquivo:
Tente o Google Closure Linter . Ele tem mais recursos do que JSLint também.
Cory Bennet tem um bom post on-line comando JSLint . Grande parte da sua configuração estará recebendo SpiderMonkey trabalhando. Não é tão ruim se você estiver executando Linux; um pouquinho mais difícil se você estiver usando o Windows e Cygwin . E aqui estão algumas mais discussão e comparação com Rhino tempos de execução .
UPDATE: 2.013,11 - se você estiver usando node.js na linha de comando (? E por que não você) você pode executar tanto JSLint eo novo eslint . [NB:. I têm contribuído relatórios de erros e test-código para eshint] Ambos são modo fácil de configurar do que o que eu tenho acima ....
Desde si JSLint é escrito em JavaScript, você pode executá-lo fora de linha, copiando o HTML e referenciado JavaScript arquivos localmente. do IE7 "Salvar como ..." recurso "webpage, completa" faz isso muito bem.
Há uma grande Yahoo Widget:
http://ajaxian.com/archives/jslint-multi
É open source, se você é paranóico você pode auditar o código.
alt texto http://jslint-multi-widget.googlecode.com /files/jslint_multi_v1_scrshot.png
JSLint com Node.js validar código em meus scripts Implantar para garantir que eu não acidentalmente empurrar código que poderia quebrar o meu site. Pode guardar um monte de tempo de manipulação questões de suporte ao cliente mais tarde.
Se você estiver usando TextMate, o JSLintMate pacote tem uma interface simples, suporta tanto JSLint e JSHint , e permite que você defina opções personalizadas de várias formas (por exemplo, um arquivo de configuração por projeto, opções globais em todos os projetos) .
Se você já usa pedras de rubi, então você pode instalar gem JSLint em um comando: http://rubygems.org/gems/jslint
Em vez de baixar com um navegador, você também pode fazer o download diretamente as fontes. Isto tem a vantagem de que você pode atualizá-los com o sistema de controle de versão, e ler o código-fonte comentou.
git clone https://github.com/douglascrockford/JSLint.git
Isto dá-lhe arquivos de origem JS HTML e, mas você não pode usá-los como eles são. Siga o processo de construção em README
. Em poucas palavras, você precisa git clone
dois outros projetos JS de Douglas Crockford, então concatenar (e minimizar) alguns arquivos JS de todos os três repositórios git em web_jslint.js
.
Eu fiz isso como esta, com o Compressor YUI:
cat ../ADsafe/adsafe.js ../JSON-js/json2.js intercept.js jslint.js > /tmp/web_jslint.uncomp.js
java -jar ../../yuicompressor-2.4.7.jar /tmp/web_jslint.uncomp.js > web_jslint.js
Então jslint.html
aberta com o seu browser.
É muito fácil de recriar o que Crockford tem sobre JSLint.com. versão online de JSLint.com dos js é um conglomerado minified de alguns arquivos que inclui alguns I sobrecarga não entendo muito bem, como esse material ADSAFE
. Vamos tira-lo para baixo para um caso mais simples invólucro vez.
Construir seu próprio invólucro HTML para JSLint:
Aqui está o código para uma página web que vai olhar para jslint.js ( a última versão do JSLint atualmente pode ser encontrado no github aqui como texto simples ) no mesmo diretório e fogo afastado em uma forma similar como JSLint.com faz agora.
<html>
<head>
<script src="jslint.js"></script>
<script>
function jslintalizeMe()
{
var i, divOut, errs, errsMsg = "";
divOut = document.getElementById("errors");
divOut.innerHTML = "";
if (!JSLINT(document.forms[0].elements[0].value))
{
errs = JSLINT.errors;
for (i=0; i < errs.length; i++)
{
err = errs[i];
if (null !== err)
{
if (undefined !== err.id)
{
errsMsg += "Error: "
+ err.code
+ " -- line "
+ err.line
+ " char "
+ err.character + "<br />"
+ " "
+ err.evidence + "<br />"
+ " " +
err.reason + "<br /><br />\n";
}
else
{
errsMsg += err.reason;
}
}
}
divOut.innerHTML = errsMsg;
}
}
</script>
</head>
<body>
<form>
<textarea rows="24" cols="80"
placeholder="// Paste quality code here"></textarea>
<br />
<button onclick="jslintalizeMe();return false;">JSLint</button>
</form>
<div id="errors"></div>
</body>
</html>
^ De um post antigo meu .
Cabe ao leitor proverbial para fazer a GUI mais pegajosos, mas esta relatórios, bem como o site JSLint faz agora.