Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FabianoSouza

Melhores práticas em JS

Recommended Posts

Como meu projeto ainda está em desenvolvimento as necessidades de criar funções JS vão aparecendo à medida que o projeto vai evoluindo.

 

Então fico sem saber como seria a melhor forma de utilizar os scripts JS.

Qual das opções abaixo?

 

 

a) Criar um arquivo .js para cada função (e ter uma pasta para acomodar os arquivos) . O problema neste caso é ter muitas arquivos.

 

 

B) Criar um único arquivo .js e colocar lá todas as funções do site. O problema é que teria que chamar o arquivo em todas as páginas do site para usar apenas uma ou duas funções.

 

 

c) Escrever as funções diretamente em cada página ASP.

 

 

 

d) Sugiram outras opções :-)

 

 

 

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Organize da melhor forma para o teu desenvolvimento.(separando rotinas em arquivos .js granulares)

 

E então tenha uma rotina server-side que concatene todos os .js, para chamar um único no template.

Lembre-se, que este arquivo entrará em cache no browser do usuário e pronto. Na segunda requisição, ele já vai devolver um 304

Compartilhar este post


Link para o post
Compartilhar em outros sites

Organize da melhor forma para o teu desenvolvimento.(separando rotinas em arquivos .js granulares)E então tenha uma rotina server-side que concatene todos os .js, para chamar um único no template.Lembre-se, que este arquivo entrará em cache no browser do usuário e pronto. Na segunda requisição, ele já vai devolver um 304

Interessante, seria algo parecido com isso?

 

<?php
echo '<script src="file1.js"></script>';
echo '<script src="file2.js"></script>';
echo '<script src="file3.js"></script>';
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Durante o desenvolvimento, sim. Em produção, não, haverá apenas um arquivo OU, principal, mas não exclusivamente, no caso caso de usar o Google AJAX API, um para cada framework e um adicional com as suas rotinas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não @Lucas, não seria isso ai não.

 

Seria um file_get_contents() de cada um dos arquivos .js, e uma concatenação, gerando um único arquivo all.js com tudo dentro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não @Lucas, não seria isso ai não.Seria um file_get_contents() de cada um dos arquivos .js, e uma concatenação, gerando um único arquivo all.js com tudo dentro.

Ah, entendi. Muito interessante mesmo. :clap:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faço o seguinte, eu coloco os meus frameworks, e dos outros (JS, AngularJS, etc) em JS separado.

<?php echo '<script src="frameworks.js"></script>'; ?>

 

E o que for exclusivo da página, tudo em 1. como os carinha de cima!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma outra forma é usar o padrão de módulos e, em desenvolvimento, deixar cada módulo separado em um arquivo:

js/main.js
js/utils.js
js/dom.js
js/effects.js
js/ads.js

 

E quando for passar para produção juntar tudo e minificar, para agilizar isso pode-se usar uma ferramenta como o RequireJS do Node.js.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal. Obrigado pelas sugestões.

 

 

 

William, não consegui entender bem sua sugestão.

 

 

Seria um file_get_contents() de cada um dos arquivos .js, e uma concatenação, gerando um único arquivo all.js com tudo dentro.

 

 

Pode explicar um pouco mais este trecho? Tem um exemplo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Implementei essa técnica em um projeto aqui, segue como ficou:

 

Tendo os arquivos:

jquery-1.8.js
plugin.js
script.js

 

O PHP fica assim:

 

<?php
header( 'Content-Type: application/javascript' );

$files = array( );
$files[] = 'jquery-1.8';
$files[] = 'plugin';
$files[] = 'script';

$js = '';
foreach ( $files as $file )
{
   $js .= file_get_contents( 'C:/folder/js/' . $file . '.js' );
}
echo $js;
?>

 

Se tiverem sugestões de melhorias, explanem! :grin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Lucas. Seu exemplo me ajudou a entender a sugestão do William. Bem interessante por sinal.

 

No meu caso uso ASP (seu exemplo é em PHP). Sabe dizer se no ASP há uma função equivalente a file_get_contents do PHP?

 

E o que seria este erro 304 que o Wiiliam falou? Como fazer para tratá-lo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desconheço a função equivalente em ASP. Dá uma pesquisada, que existe, deve existir.

 

Sobre a mensagem (não é erro):

 

304 Not Modified

 

If the client has done a conditional GET and access is allowed, but the document has not been modified since the date and time specified in If-Modified-Since field, the server responds with a 304 status code and does not send the document body to the client.

 

Response headers are as if the client had sent a HEAD request, but limited to only those headers which make sense in this context. This means only headers that are relevant to cache managers and which may have changed independently of the document's Last-Modified date. Examples include Date , Server and Expires .

 

The purpose of this feature is to allow efficient updates of local cache information (including relevant metainformation) without requiring the overhead of multiple HTTP requests (e.g. a HEAD followed by a GET) and minimizing the transmittal of information already known by the requesting client (usually a caching proxy).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.