Se você deseja testar localmente suas soluções dos desafios de código em linguagem JavaScript, mas sem mudar muito a estrutura de sua solução, este artigo te guiará em uma das formas mais simples que você poderá fazer.
Os métodos gets() e print() não são nativos do JavaScript. Quando o inciante experimenta copiar o conteúdo da plataforma e usar em sua IDE preferida (VSCode, por exemplo), o código gerará falhas (gets is not defined e/ou print is not defined) justamente por não haver um módulo que contenha estes métodos. Para resolver isso, pode seguir os passos abaixo:
Uma das maneiras de testar o código localmente, inclusive para debugar é usar uma forma de entrada parecida com a da plataforma. Para isso deve-se instalar o prompt-sync. Requer o node instalado previamente!
Para instalar o prompt-sync, na raiz do projeto, basta digitar o seguinte comando (necessário ter o **node **instalado):
npm install prompt-sync
Após a instalação do prompt-sync, crie a pasta chamada de src. Aqui manteremos os nossos arquivos dos desafios.
Dentro da pasta src, crie uma pasta chamada utils. Dentro da pasta, crie o arquivo utils.js e copie o código abaixo:
const prompt = require('prompt-sync')();
function gets() {
const userInput = prompt('Digite: ');
return userInput;
}
function print(message) {
console.log(message);
}
module.exports = {gets, print};
No código do desafio, adiciona na linha 1 o seguinte trecho de código:
// DELETAR ESSE BLOCO inicio
const {gets, print} = require('../src/utils/utils'); // TODO: IMPORTANTE : Comentar ou remover esta linha quando usar na plataforma da DIO!
// DELETAR ESSE BLOCO fim
Caso dê erro de node, mude o endereço dentro de require, a IDE deverá encontrar o arquivo correto. Só deverá se atentar para que tenha criado e adicionado no local correto.
Abaixo temos a instalação na pasta raiz do prompt-sync através do terminal e o teste local com entrada de dados manuais através do método gets():
Como pode ter observado na figura, após o comando para a instalação do prompt-sync na pasta raiz do projeto, basta entrar na pasta onde o seu código de desafio foi escrito e executá-lo via linha de comando de terminal através do comando:
node "Estilizando o Nome do Brinquedo.js"
Para cada novo arquivo, que deverá ser salvo dentro da pasta src, você poderá usar o arquivo template.js como exemplo.
Importante: Quando finalizar os testes, ao retornar para a plataforma, remova o conteudo // DELETAR ESSE BLOCO inicio até // DELETAR ESSE BLOCO fim.
Lembre-se ainda que os testes na plataforma são automatizados e que não deverá haver mensagens dentro do método gets(), como por exemplo gets("Digite a nota").
Boa sorte!!!
