Olá, Daniel! Tudo certo?
É possível, sim, que alguém digite um número, porém, o código que você está utilizado deve ser importado em um arquivo .html, da seguinte forma:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Teste01</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>
OBS: a importação do código em .js ocorre na tag <script src="script.js"></script>
do código acima, faça o mesmo no seu projeto, modificando o nome "script.js" para o nome do seu arquivo .js.
É necessário fazer isso, pois o método prompt
que você usou apenas funciona em uma página web.
Contudo, existe uma forma de fazer essa passagem de valor via terminal, é bem mais complicado e talvez seja bem complexo para você por agora.
Mas a título de curiosidade, para que você consiga coletar uma informação passada pelo terminal você deve utilizar uma biblioteca chamada readline
, com ela você criará uma interface que vai capturar essa informação do terminal usando uma função callback. Talvez falei alguns conceitos que você não reconhece, não se preocupe, aos poucos você irá conhecer e se familiarizar.
Exemplo do método comentado acima:
const readline = require('node:readline');
const { stdin: input, stdout: output } = require('node:process');
const rl = readline.createInterface({ input, output });
rl.question('What do you think of Node.js? ', (answer) => {
// TODO: Log the answer in a database
console.log(`Thank you for your valuable feedback: ${answer}`);
rl.close();
});
Esse exemplo é disponibilizado na documentação oficial da biblioteca, caso tenha interesse aqui está o link para a mesma: Node.js documentation
Espero ter ajudado e caso tenha mais dúvidas ou problemas, estarei à disposição para ajudá-lo.
Grande abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.