Onde colocar arquivos JS nos blades do projeto

844 views
Skip to first unread message

Flávio Alves

unread,
Nov 20, 2015, 7:57:21 PM11/20/15
to Laravel Brasil
Olá pessoal. Em um projeto que estou trabalhando estou colocando meus scripts .js dentro de uma pasta js dentro de public. Tenho meu layout principal que contém a estrutura visual padrão e tenho meus arquivos de view exclusivos de cada entidade dentro de uma pasta com o nome da entidade no diretório view, fazendo algumas coisas com ajax coloquei uma chamada a um arquivo js dentro de uma view e ele não funcionava mostrava esse erro no console: Uncaught ReferenceError: $ is not defined. Dando um ctrl+u para visualizar o código da página vi que a chamada do meu arquivo js tava no topo da página antes do DOCTYPE. Então resolvi colocar a chamada para meu arquivo js na view principal que tem a base visual do meu projeto e funciona de boa, mas não queria encher meu layout principal de chamadas aos arquivos js. Minha pergunta é: Onde devo colocar as chamadas a arquivos js externos dentro de minhas views?

Agradeço a todos; 

Vinicius Reis

unread,
Nov 20, 2015, 8:06:47 PM11/20/15
to Laravel Brasil

Oi Flávio, deixa eu te passar algumas dicas.
Na doc do Laravel olha sobre o Elixir, vai te mostrar alguns helpers bem bacanas para você usar com o gulp. Se você não conhece isso, recomendo que corra atrás.

Sobre layouts e templates, da uma atenção extra na doc do blade há muitas maneiras de deixar tudo muito bem organizado.

Sobre seus js
Idealmente vc "compila" seu js em um arquivo só.
Há muitas técnicas de encapsulamento para isso, fazendo seu js de forma correta você terá um único arquivo js minificado com tudo que sua aplicação precisa. Tenha em mente que o navegador faz cache do arquivo, após o primeiro download tudo transcorre bem, isso somado a minificacao da conta do recado.
Não é boa prática chamar arquivos separados no navegador, idealmente vc tem um vendor.js com seus plugins e um app.js com seus scripts.

Att.


Em sex, 20 de nov de 2015 22:57, Flávio Alves <flavioa...@gmail.com> escreveu:
Olá pessoal. Em um projeto que estou trabalhando estou colocando meus scripts .js dentro de uma pasta js dentro de public. Tenho meu layout principal que contém a estrutura visual padrão e tenho meus arquivos de view exclusivos de cada entidade dentro de uma pasta com o nome da entidade no diretório view, fazendo algumas coisas com ajax coloquei uma chamada a um arquivo js dentro de uma view e ele não funcionava mostrava esse erro no console: Uncaught ReferenceError: $ is not defined. Dando um ctrl+u para visualizar o código da página vi que a chamada do meu arquivo js tava no topo da página antes do DOCTYPE. Então resolvi colocar a chamada para meu arquivo js na view principal que tem a base visual do meu projeto e funciona de boa, mas não queria encher meu layout principal de chamadas aos arquivos js. Minha pergunta é: Onde devo colocar as chamadas a arquivos js externos dentro de minhas views?

Agradeço a todos; 

--
Você recebeu essa mensagem porque está inscrito no grupo "Laravel Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para laravel-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Fabrício Muniz

unread,
Nov 20, 2015, 8:23:10 PM11/20/15
to laravel...@googlegroups.com
$ is not defined

Você, muito provavelmente, está utilizando algum plugin jquery, porém está importando-o antes mesmo de chamar o próprio jquery.

Em 20 de novembro de 2015 22:57, Flávio Alves <flavioa...@gmail.com> escreveu:
Olá pessoal. Em um projeto que estou trabalhando estou colocando meus scripts .js dentro de uma pasta js dentro de public. Tenho meu layout principal que contém a estrutura visual padrão e tenho meus arquivos de view exclusivos de cada entidade dentro de uma pasta com o nome da entidade no diretório view, fazendo algumas coisas com ajax coloquei uma chamada a um arquivo js dentro de uma view e ele não funcionava mostrava esse erro no console: Uncaught ReferenceError: $ is not defined. Dando um ctrl+u para visualizar o código da página vi que a chamada do meu arquivo js tava no topo da página antes do DOCTYPE. Então resolvi colocar a chamada para meu arquivo js na view principal que tem a base visual do meu projeto e funciona de boa, mas não queria encher meu layout principal de chamadas aos arquivos js. Minha pergunta é: Onde devo colocar as chamadas a arquivos js externos dentro de minhas views?

Agradeço a todos; 

--

Flávio Alves

unread,
Nov 21, 2015, 7:04:01 AM11/21/15
to Laravel Brasil
Vinícius muito obrigado pelas dicas cara.

Flávio Alves

unread,
Nov 21, 2015, 7:04:23 AM11/21/15
to Laravel Brasil
Obrigado Fabrício
Reply all
Reply to author
Forward
0 new messages