Requisitos para um backend em NodeJs

Primeiramente queria deixar claro que antes de perguntar procurei tópicos de outros usuários sobre essa questão e não encontrei muita coisa que poderia ajudar com a minha dúvida.

Olá, estou tendo dificuldades para configurar minhas rotas com o Express na minha aplicação em NodeJs. Estou completamente acostumado a desenvolver minhas aplicações localmente e hospedando pelo meu próprio computador.
Configurei os arquivos da seguinte maneira:

#main.js

const express = require('express')
const app = express()

app.get('/', (req, res)=>{
res.send('Hi!')
})

app.listen(3000)

#package.json
{
“name”: “mundodevanilla.ga”,
“version”: “1.0.0”,
“main”: “index.js”,
“license”: “MIT”,
“scripts”: {
“run-nodeD”: “nodemon main.js”,
“start”: “./main.js”
},
“dependencies”: {
“express”: “^4.17.1”
},
“devDependencies”: {
“nodemon”: “^2.0.2”
}
}

E também a pasta “node_modules” contendo todos os pacotes e suas respectivas dependências. Vale notar que utilizei o Yarn para instalá-los e não o NPM, aparentemente não há diferenças mas quis apenas especificar ainda mais.

(desculpe pelos possíveis erros de formatação no tópico)

Há algum erro na aplicação? Li em algum dos tópicos que a porta para executar o express era na 3000, caso esteja errado poderia me ajudar? Obrigado desde já :slight_smile:

Ola, @bleszerd! Tudo bem?
Você está quase lá! Falta apenas um detalhe:
Os comandos do script start, de forma resumida, executam o comando especificado como se estivesse executando diretamente da linha de comando. O que significa que o comando ./main.js não irá funcionar, pois não é um binário executável. É necessário especificar ele primeiramente.
No caso seria o comando “node” seguido pelo caminho da aplicação.
No seu caso ficaria algo como:
"start": "node ./main.js"