it-swarm-pt.tech

Existe uma biblioteca .NET para reduzir o Javascript?

Estou criando programaticamente arquivos javascript a partir de um aplicativo Web .NET e gostaria de reduzi-lo antes de transmiti-lo ao usuário? Existe uma biblioteca ou técnica para fazer isso em tempo real?

Obrigado

30
Hairgami_Master

Se você simplesmente deseja minificar uma string javascript em C # antes de salvá-la em um arquivo, eu usaria o MS Ajax Minifier ou o Compressor YUI para .net . Ambos expõem uma API que permite fazer isso. Aqui está uma amostra usando o minificador ajax:

var minifier = new Microsoft.Ajax.Utilities.Minifier();
var minifiedString = minifier.MinifyJavaScript(unMinifiedString);

Usando o Compressor YUI para .net:

var minifiedString = JavaScriptCompressor.Compress(unMinifiedString);

As bibliotecas ajax minifier e YUI Compressor estão disponíveis via Nuget.

61
Matt Wrock

Por que não usar o minifier escrito em javascript diretamente no .NET (tente se ele funciona como código JScript). Uglify.js vem à mente ...

2
user1046334
1
Mike Ruhlin

eu uso isso manualmente.

http://dean.edwards.name/packer/

compacto os arquivos, carrego e desfiz o pacote para manter o código fonte intacto. eu embalo apenas o código de produção.

1
Chris Brickhouse

Bem, eu acho que há três coisas que você precisa fazer para minify um arquivo de script:

  1. Encurtar variáveis ​​longas
  2. Remover comentários
  3. Remova espaços em branco desnecessários (guias, espaços, retornos de carro)

Tudo isso é relativamente simples de substituir em tempo de execução, mas será necessário um pouco de escrita de código. Para o encurtamento de variáveis, encontre variáveis ​​semelhantes em seu escopo maiores que, digamos, 2 letras. Em seguida, abrevie e faça isso seguir no bloco de código (o escopo da variável).

A remoção de comentários será simples. A remoção de espaços em branco também é fácil. Para linha única, localize // e exclua até um retorno de carro/alimentação de nova linha. Espaços em branco, substitua as guias por um espaço, vários espaços por um espaço e retornos de carro/nova linha alimenta por um espaço.

0
user596075

Você pode usar o Closure Compiler , mas eu não recomendo que você reduza os arquivos toda vez que um usuário visitar seu site. É muito melhor criar todos os arquivos antes de implantar novas confirmações. Dê uma olhada em este artigo sobre ferramentas .

0
Eliseu Monar dos Santos