Criar um aplicativo simples usando o Next.js
{
"name": "meu-projeto",
"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"
}
}
2. Crie um arquivo setup.js com o seguinte conteúdo
// 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>Welcome to Next.js!</h1>
<p>This is your homepage.</p>
</div>
);
}`);
console.log('Arquivo `index.js` criado com conteúdo básico.');
}
3. Crie um arquivo index.js com o seguinte conteúdo
// 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}`);
});
});