1
resposta

estou tomando um erro ao efetuar o post

repo: https://github.com/LucaPinheiro/2753-serverless-node

espero que vocês consigam me ajudar!! Não sei porque está acontecendo. Estou totalmente certinho com conta na aws, serverless e tudo. Quando faço o post to tomando esse erro do js

POST /api/results (λ: sendResponse) (node:34726) ExperimentalWarning: Custom ESM Loaders is an experimental feature. This feature could change at any time (Use node --trace-warnings ... to show where the warning was created) ✖ Uncaught exception Environment: linux, node 16.18.1, framework 3.24.1 (local) 3.38.0v (global), plugin 6.2.2, SDK 4.3.2 Credentials: Serverless Dashboard, "default" provider (https://app.serverless.com/lucapinheiro/apps/aws-node-http-api-project/aws-node-http-api-project/dev/us-east-1/providers) Docs: docs.serverless.com Support: forum.serverless.com Bugs: github.com/serverless/serverless/issues

Error: Error [ERR_REQUIRE_ESM]: require() of ES Module /home/luca/Development/Alura/Programacao/Node/AWSLambda/2753-serverless-node/node_modules/ts-node/esm.mjs not supported. Instead change the require of /home/luca/Development/Alura/Programacao/Node/AWSLambda/2753-serverless-node/node_modules/ts-node/esm.mjs to a dynamic import() which is available in all CommonJS modules.

1 deprecation found: run 'serverless doctor' for more details

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

E aí, Luca!

Beleza? Pelo que você contou e pela imagem que vi, parece que tá rolando umas tretas com os módulos ESM no Node.js, né? Lembro que a partir da versão 12 do Node.js, rolou um suporte pra esses módulos, mas é uma pegada diferente dos bons e velhos módulos CommonJS com require().

Esse erro Error [ERR_REQUIRE_ESM]: require() of ES Module ... not supported. tá dizendo que o Node.js tá tentando usar o require() pra um módulo ESM, o que não cola.

Vi que tá usando a 16.18.1, que tá ok pra ESM.

Se tá usando ESM, garante que tem "type": "module" lá no seu package.json.

Se o ts-node tá com ESM, manda bala com import ao invés de require.

Se tá no TypeScript, confirma que seu ts-node tá atualizado e de boa com ESM. Se precisar, roda com a opção --loader ts-node/esm.

Vê a documentação do ts-node ou qualquer outro pacote que tá te dando dor de cabeça pra ver como lidar com ESM.

Tenta esse comando serverless doctor pra ver se encontra alguma coisa que possa te dar uma luz.

Se ainda tá complicado, talvez criar um arquivo de importação ou ajustar a configuração possa ser o caminho. Às vezes, tem que transpilar o TypeScript pro bom e velho CommonJS se o ambiente não tá afim de ESM.

Espero que essas dicas ajudem a desenrolar essa parada toda. Boa sorte aí nos ajustes!