-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pre render com vue #45
Comments
Dá uma pesquisada sobre o NuxtJS. Ele é um framework criado em cima do Vue para solucionar problemas como esse de uma forma muito mais simples e intuitiva. ;) |
Você precisa de SSR, server-side-render, ao invés de pre-render. Ou então criar alguma maneira de rodar o pre-render sempre que criarem uma nova matéria, deve dar para fazer isso com uma lambda que você roda sempre que criar/alterar matérias. Se você for atrás de SSR, o Nuxt.js (que o @SkyaTura comentou) é excelente! |
eu tentei usar o nuxt, mas não sabia oq fazer com os arquivos que gerei com build. do jeito que ta, tem um back feito com node rodando em um host "apptals.com", e outro rodando o front "meusite.com", ai com o nuxt pego tudo que foi gerado na pasta dist e coloco no "apptals"? ai o front vai ser acessado pelo "apptals" tb? |
Aí é que tá, o Nuxt.js vai gerar um "projeto" para você rodar com Node.js no back-end. Esse projeto lida com roteamento e já renderiza as views quando o usuário faz o primeiro acesso (depois do primeiro o usuário já carregou o client e a aplicação funciona como SPA normal) |
Como você tá começando agora, vou te explicar algumas coisinhas pra te dar um pouco de contexto sobre o problema e como nós estamos resolvendo. Páginas WebOriginalmente a Web foi criada com arquivos estáticos de HTML, depois apareceu o CSS e o JavaScript mas tudo era estático no sentido de que o conteúdo era fixo. Com a necessidade de entregar conteúdos dinâmicos e que dependiam de algum contexto, foram criados diversos tipos de soluções que entregavam HTML diferentes de acordo com o endereço que você acessava (assim surgiu o PHP, por exemplo). Porém, a evolução do JavaScript nos trouxe aos tempos atuais, onde o ideal é separar o BackEnd do FrontEnd (é aqui que entra o Vue), e os sites voltaram a ser estáticos novamente, porém, com muito mais poder para modificar seu conteúdo dinamicamente de acordo com a necessidade e buscas feitas em segundo plano em APIs. VueJSUma instalação comum do Vue funciona no formato de SPA (Single Page Application), ou seja, mesmo que você crie diversas páginas diferentes, o conteúdo HTML gerado serve apenas para carregar os arquivos JavaScript que vão montar a sua página. SEOApesar das diversas vantagens que nós temos com o SPA, inclusive funcionamento offline, esse formato impede que ferramentas automatizadas com indexadores de pesquisa (Google, Bing e etc) e outras como essa do FaceBook que vc tá procurando. Esses plugins todos procuram referências estáticas, e como no SPA é sempre igual, ele não identifica as mudanças pois o código JavaScript que faz as mudanças não é carregado por eles. NuxtJSO Nuxt veio para solucionar esse problema de SEO e algumas outras otimizações de desempenho. A principal diferença com o Nuxt é que essa informação que vem do servidor acontece apenas na primeira requisição, depois que o site é carregado no seu dispositivo ele passa a se comportar como um SPA, oferencendo o melhor dos dois mundos. O Nuxt funciona de 3 maneiras distintas:Server Side Rendering (SSR)Quando você builda, ele gera um outro projeto em node que você deve executar no seu BackEnd e ele vai fazer o trabalho do servidor de entregar as suas páginas. ###Single Page Application (SPA) ###Pre-render ConclusãoEu aconselho que você dê uma boa estudada nesse conteúdo, leia a documentação do Nuxt e procure artigos sobre VUE e SEO antes de tentar pular de cabeça pra resolver o seu problema. Mais importante do que resolver, é entender o que deve ser feito para chegar a solução. |
muito obrigado pela a ajuda, galera Eu coloquei os arquivos gerados no .nuxt no meu uol host. Na verdade nem sei se são esse arquivos pra colocar. ai ta dando esse erro: SyntaxError: Unexpected token import |
O .nuxt é uma pasta com códigos temporários que o Nuxt gera para fazer um build mais rápido, não deve ser usado pelo usuário final para nada. Dá uma olhada nessa parte aqui da documentação |
Eu sou novato na programação web, eu achava que era só fazer a pagina html e colocar no site e tava pronta, mas eu tava muito que enganado.
Então, tou com um pequeno problema, meu site é portal de notícias, e cada notícia tem sua página e tals, como qualquer outro, faço a rota ("/noticia/nomenoticia") e os dados é pego em um BD, então, eu fui colocar o plugin do facebook para compartilhar e deu um problema, pq o face só pega o meta la do index.
Em pesquisas vi que precisa renderizar no server ou pre-renderizar. Resolvi pre-renderizar
e tou usando Prerender SPA Plugin. Eu coloco as rotas que quero pre renderizada, mas essa rota em questão só é criado quando tem uma requisição do BD
Como contornar esse problema?
The text was updated successfully, but these errors were encountered: