Construindo o Twitter X com Vue.js 😉 (Parte 1)

Posted by


Olá! Bem-vindo(a) ao tutorial de construção do X com Vue.js. Neste tutorial, irei te guiar passo a passo na criação de um clone simples do Twitter com a ajuda do Vue.js. Este será o primeiro de uma série de tutoriais, então fique ligado para os próximos passos!

Antes de começarmos, certifique-se de ter o Node.js e o npm instalados em seu computador. Caso ainda não tenha, você pode baixá-los em https://nodejs.org/.

Passo 1: Configurando o projeto

Para começar, abra seu terminal e crie uma nova pasta para o projeto. Em seguida, navegue até essa pasta e execute o seguinte comando para criar um novo projeto Vue.js usando o Vue CLI:

vue create twitter-clone

Siga as instruções na tela e escolha a opção de configuração manual. Selecione as seguintes opções durante a configuração do projeto:

  • Babel
  • Vue Router
  • ESLint
  • Axios

Quando o projeto for configurado, navegue até a pasta do projeto e inicie o servidor de desenvolvimento com o seguinte comando:

npm run serve

Acesse http://localhost:8080 no seu navegador para ver a página inicial do projeto.

Passo 2: Estrutura do projeto

A estrutura do projeto será organizada da seguinte forma:

  • src/components: Pasta para armazenar os componentes Vue do projeto.
  • src/views: Pasta para armazenar as páginas Vue do projeto.
  • src/router: Pasta para armazenar as configurações das rotas do projeto.
  • src/assets: Pasta para armazenar os arquivos de estilo e imagem do projeto.
  • src/services: Pasta para armazenar os serviços de API do projeto.

Você pode criar essas pastas dentro da pasta src e começar a adicionar arquivos conforme necessário.

Passo 3: Criando a página inicial

Vamos começar criando a página inicial do Twitter clone. Dentro da pasta views, crie um novo arquivo chamado Home.vue e adicione o seguinte código:

<template>
  <div class="home">
    <h1>Bem-vindo ao Twitter Clone</h1>
  </div>
</template>

<script>
export default {
  name: "Home"
}
</script>

<style>
.home {
  text-align: center;
}
</style>

Em seguida, adicione uma rota para esta página no arquivo src/router/index.js:

import Vue from "vue";
import VueRouter from "vue-router";
import Home from "@/views/Home.vue";

Vue.use(VueRouter);

const routes = [
  {
    path: "/",
    name: "Home",
    component: Home
  }
];

const router = new VueRouter({
  mode: "history",
  base: process.env.BASE_URL,
  routes
});

export default router;

Agora, adicione um link para a página inicial no arquivo App.vue:

<template>
  <div id="app">
    <router-link to="/">Home</router-link>
    <router-view />
  </div>
</template>

<script>
export default {
  name: "App"
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #333;
}
</style>

Agora, ao acessar http://localhost:8080, você verá a página inicial com a mensagem "Bem-vindo ao Twitter Clone".

Isso conclui a parte 1 deste tutorial. Nos próximos tutoriais, continuaremos a construir o clone do Twitter adicionando mais funcionalidades e estilos. Fique ligado para a parte 2! 😉

0 0 votes
Article Rating

Leave a Reply

12 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@Jonathan_Abilio
4 hours ago

Tenho duas perguntas:

O Vue renderiza sem o export default que o React pede pelo que notei, mas aceita TypeScript?
Pode me dizer qual foi o thema desta live?

@websistematizando5544
4 hours ago

Opa Rafael blz? Sou iniciante em Laravel, para outros projetos eu utilizo um servidor cPanel sem terminal meio complicado para projeto Laravel, podem me indicar algum servidor, seja cPanel ou vpn, nunca utilizei vpn, mas posso aprender. Preciso hospedar um projeto mas estou com grande dificuldade de fazer isso onde contratei na Atmun Host, porque não tem terminal e to achando dificio fazer apontamento. Desde já Agradeço

@victorhugoratts6250
4 hours ago

54:50 Sempre quis saber essa informação kkk obrigado 🤗😊

@alansantos6096
4 hours ago

Segui o tutorial, mas meu nuxt deu algum tipo de problema. O Router não identifica as paginas index e about no /pages e fica dando 404 not found page. Uma pena…

@LeonardoSilva-sk7wj
4 hours ago

Que show!! Faz um vídeo criando um CRUD usando inertia + vue? abraço ❤

Anonymous
4 hours ago

Sobre usar o Vue para criar App, eu acabei usando o Cordova pra isso kkkk… Funcionou super bem de um SPA para um app. Teve algumas configs que precisei fazer no cordova, como liberar acesso a câmera, upload de arquivo, mas nada de mais. Precisava de um app urgente e não iria refazer tudo em outra coisa, não era uma possibilidade. O Cordova acabou funcionando bem no android (não testei para iOS, mas dizem que funciona tbm).

@dedeh-lives
4 hours ago

nuxt ou next? qual prefere

@BrunoMarquesScorpyous
4 hours ago

Em resumo: angular e seus derivados, muito código pra coisa simples (imagina pra coisa complexa)
React, menos código mas alguns "what?"
VueJs, vapt-vupt, tipo laravel, sem mais 😂

@iarlensantos3588
4 hours ago

NuxtJs parece muito interessante, vou da uma chance para o ecossistema vue.

@FunctionDev
4 hours ago

cai de paraquedas, mas já gostei do canal

@andremof
4 hours ago

Muito bom, essa série o eu vou acompanhar com certeza. Uso laravel com vue. Não uso nuxt ainda.. mas estou com a cabeça aberta para a passar a usar

@moisespereira6710
4 hours ago

Perdi ao vivo .. ainda bem que fica gravada a live 🎉

12
0
Would love your thoughts, please comment.x
()
x