23
Como eu inicio um projeto com NextJS, TypeScript e TailwindCSS!
Olá, hoje pretendo mostrar como eu inicio meus projetos utilizando NextJS, TypeScript e TailwindCSS. Eu gosto bastante de utilizar essa stack para projetos pessoais simples e que quero desenvolver em um curto espaço de tempo. Lembrando que estou escrevendo aqui hoje como uma forma de fixar conhecimento além de compartilhar o que sei, não sou nenhum perito em programação, mas acredito que posso falar sobre isso.
Eu estou utilizando yarn
na versão 1.22.15 e o node
versão 16.13.1, que no momento é a versão LTS.
Primeiramente criei a aplicação next
tradicional utilizando o yarn create
e passei um parâmetro example
para ele já iniciar com uma configuração do TailwindCSS.
Então o comando ficou assim:
yarn create next-app my-project --example with-tailwindcss
OBS: Você pode achar todos os exemplos deles em um repositório da própria vercel aqui!
Após iniciar, eu acesso a pasta criada, e mudo um pouco a estrutura inicial do projeto, motivo? Gosto de tentar manter uma lógica no diretório em que cada arquivo está presente.
Vamos lá então, vou abrir o projeto no vscode
utilizando a linha de comando:
code my-project
OBS: Observe que como parâmetro eu passo o nome da pasta, que no nosso caso é o mesmo do projeto.
A estrutura inicial vem mais mais ou menos assim:
Vamos entender a função de cada pasta e cada arquivo.
- public - É a pasta onde vão ficar todos nossos arquivos públicos, por exemplo, logos, favicons, assets, etc... Ou seja, arquivos estáticos.
- pages - É onde vão ficar nossas páginas, onde nossa aplicação ganha vida e fica pronta para o usuário.
- styles - Aqui ficam os estilos presente em nossa aplicação, geralmente eu ainda crio subpastas dentro dela para deixar ainda mais organizado.
- postcss.config.js - É a configuração do compilador de tailwindcss, onde definimos algumas configurações sobre como ele vai funcionar.
- tailwindcss - São as configurações do tailwindcss em si, onde definos estilos, cores, temas e tudo relacionado ao funcionado do mesmo.
Comecei removendo tudo que tem dentro de /public
e a pasta /pages/api
pois não utilizo serverless
de começo.
Em seguida crio uma pasta chamada src
na raiz do projeto, e movo a pasta pages
e styles
para dentro dela, o resultado fica assim:
Para finalizar, temos que alterar uma configuração do tailwindcss, onde dizemos onde e quais os arquivos que vão ser compilados.
No arquivo tailwind.config.js
devemos alterar o content
. Ele vai ficar assim:
module.exports = {
content: [
'./src/pages/**/*.tsx',
'./src/components/**/*.tsx',
],
...
}
OBS: Lembrando que como vamos adicionar typescript
ainda, eu já deixei a extensão dos arquivos como tsx
.
Acredito que essa seja a parte mais fácil, pois o next
já tem uma documentação para isso, que você pode acessar aqui.
Ele fala o passo a passo a seguir, porém eu faço de uma forma um pouco diferente, eu apenas adiciono as dependências recomendadas e rodo o projeto, com isso ele cria o arquivo tsconfig.json
com todas as configurações iniciais.
yarn add --dev typescript @types/react @types/node
Para finalizar esta etapa, temos que renomear as extensões de todos os arquivos de .js
para .tsx
.
Com isto, temos o seguinte resultado:
Este foi meu primeiro post, então, perdão se em algum momento eu desviei da minha proposta inicial, se minha escrita não foi tão legal ou se eu errei em algum ponto. Mas meu objetivo com ele é tentar fixar meus conhecimentos além de compartilhar eles com a comunidade, que foi como eu aprendi e agradeço a todos que tiverem um feedback.
Um abraço a todos e até a próxima!
23