Como criar um projeto em Next.js

Neste tutorial, você verá:
✔️ Criar um projeto usando o Next.js;
📌 Simplifique seu processo de deploy com o nosso painel ICP!
Este tutorial orienta você na criação de um aplicativo simples utilizando o Next.js, um framework React que facilita a construção de aplicações web modernas. Seguindo os passos abaixo, você poderá configurar e executar seu próprio projeto Next.js.
📌 Passo 1: Configurar o arquivo package.json
{
"name": "integrator-host-nextjs",
"version": "1.0.0",
"private": true,
"scripts": {
"prepare": "node setup.js",
"dev": "NODE_NO_WARNINGS=1 next dev",
"build": "npm run prepare && next build",
"start": "npm run prepare && next build && node index.js"
},
"dependencies": {
"next": "13.0.0",
"react": "18.2.0",
"react-dom": "18.2.0"
}
}
name
: Nome do seu projeto.version
: Versão atual do projeto.private
: Define se o projeto é privado.scripts
: Conjunto de comandos que podem ser executados via linha de comando.prepare
: Executa o scriptsetup.js
para preparar o ambiente.dev
: Inicia o servidor de desenvolvimento do Next.js.build
: Prepara o ambiente e constrói o projeto para produção.start
: Prepara o ambiente, constrói o projeto e inicia o servidor.
dependencies
: Lista de dependências do projeto e suas versões específicas.
📌 Passo 2: Criar o arquivo setup.js
// setup.js
const fs = require('fs');
const path = require('path');
// Caminho para o diretório `pages`
const pagesDir = path.join(__dirname, 'pages');
// Verifica se a pasta `pages` existe, e cria se não existir
if (!fs.existsSync(pagesDir)) {
fs.mkdirSync(pagesDir);
console.log('Pasta `pages` criada com sucesso.');
}
// Cria um arquivo `index.js` básico dentro da pasta `pages` se não existir
const indexPath = path.join(pagesDir, 'index.js');
if (!fs.existsSync(indexPath)) {
fs.writeFileSync(indexPath, `export default function Home() {
return (
<div>
<h1>Bem-vindo ao Next.js!</h1>
<p>Esta é a sua página inicial.</p>
</div>
);
}`);
console.log('Arquivo `index.js` criado com conteúdo básico.');
}
- Verifica se a pasta
pages
existe na raiz do projeto; caso contrário, cria essa pasta. - Dentro da pasta
pages
, verifica se o arquivoindex.js
existe; se não existir, cria um arquivo básico com um componente React que renderiza uma mensagem de boas-vindas.
📌 Passo 3: Criar o arquivo index.js
para o servidor
// index.js
const next = require('next');
const http = require('http');
// Configure o ambiente (desenvolvimento ou produção) e a porta
const dev = process.env.NODE_ENV !== 'production';
const port = process.env.PORT || 3060;
const app = next({ dev });
const handle = app.getRequestHandler();
// Prepare o Next.js
app.prepare().then(() => {
// Crie o servidor HTTP
const server = http.createServer((req, res) => {
handle(req, res);
});
// Inicie o servidor na porta especificada
server.listen(port, (err) => {
if (err) throw err;
console.log(`> Servidor rodando em http://localhost:${port}`);
});
});
- Importa os módulos necessários:
next
para o framework ehttp
para criar o servidor. - Define o ambiente (
dev
) e a porta (port
) em que o servidor irá rodar. - Prepara a aplicação Next.js e, após a preparação, cria e inicia o servidor HTTP que lida com as requisições.
📌 Passo 4: Rodar a aplicação.
Instalar todas as dependências:
npm install
Inicie o projeto:
npm run start
Acessar ele localmente:
http://localhost:3060