Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

669
Visualizações
SyntaxError: Cannot use import statement outside a module on node.js

I'm trying to add a module to my project , following the doc I add this line to my index.js on my node.js project

import { bkLabs } from '@berkelium/nlp-core';

but I get the following error

SyntaxError: Cannot use import statement outside a module
    at wrapSafe (internal/modules/cjs/loader.js:1001:16)
    at Module._compile (internal/modules/cjs/loader.js:1049:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12)
    at internal/main/run_main_module.js:17:47

then I looked for a solution and I found that I have to change the import for a require

const bkLabs = require('@berkelium/nlp-core');

but then I get this error:

internal/modules/cjs/loader.js:1102
      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);
  ^
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/user/proyectos/chatBot/node_modules/@berkelium/nlp-core/src/index.js
    require() of ES modules is not supported.
    require() of /home/user/proyectos/chatBot/node_modules/@berkelium/nlp-core/src/index.js from /home/user/proyectos/chatBot/index.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
    Instead rename /home/user/proyectos/chatBot/node_modules/@berkelium/nlp-core/src/index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /home/user/proyectos/chatBot/node_modules/@berkelium/nlp-core/package.json.
about 4 years ago · Santiago Gelvez
2 Respostas
Responde à pergunta

0

Looks like the library you're trying to use is written with ESModule syntax and your NodeJS code with CommonJS.

You can’t require() ESM scripts; you can only import ESM scripts, like that: import {foo} from 'foo'.

This is a problem with mixing CommonJS and ESModules. By default, nodejs uses CommonJS module syntax unless you specify "type": "module" in package.json or using .mjs exentions.

Solution, choose one that works best for you:

  1. Write NodeJS in ESModule syntax
  2. Submit feature PR to @berkelium/nlp-core to support hybrid-module syntax (see more information here: https://nodejs.org/api/packages.html#dual-commonjses-module-packages)
about 4 years ago · Santiago Gelvez Relatório

0

the solution you've looked is correct only when you are working with node.js files, but if you want to import modules as a ES you have to specify "type": "module" in package.json

about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda