Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error [ERR_REQUIRE_ESM]: require() of ES Module not supported #189

Closed
berkobob opened this issue Oct 9, 2021 · 7 comments
Closed

Error [ERR_REQUIRE_ESM]: require() of ES Module not supported #189

berkobob opened this issue Oct 9, 2021 · 7 comments

Comments

@berkobob
Copy link

berkobob commented Oct 9, 2021

I'm getting the error message:

Error [ERR_REQUIRE_ESM]: require() of ES Module not supported
Instead change the require to a dynamic import() which is available in all CommonJS modules.

When I try and require ora:

const ora = require('ora')

I'm using node v16.9.0

@sindresorhus
Copy link
Owner

https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c#readable-named-exports

@arleyGuoLei
Copy link

me too.

Error [ERR_REQUIRE_ESM]: require() of ES Module not supported
Instead change the require to a dynamic import() which is available in all CommonJS modules.

@red-sight
Copy link

red-sight commented Nov 4, 2021

Same to me

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/dm/code/mock-ui/packages/server/node_modules/ora/index.js
server: require() of ES modules is not supported.
server: require() of /home/dm/code/mock-ui/packages/server/node_modules/ora/index.js from /home/dm/code/mock-ui/packages/server/lib/server.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.
server: Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /home/dm/code/mock-ui/packages/server/node_modules/ora/package.json.
server:     at Module._extensions..js (internal/modules/cjs/loader.js:1015:13)
server:     at Object.reqExtensions.<computed> [as .js] (/home/dm/code/mock-ui/packages/server/node_modules/babel-watch/runner.js:71:7)
server:     at Module.load (internal/modules/cjs/loader.js:863:32)
server:     at Function.Module._load (internal/modules/cjs/loader.js:708:14)
server:     at Module.require (internal/modules/cjs/loader.js:887:19)
server:     at require (internal/modules/cjs/helpers.js:74:18)
server:     at Object.<anonymous> (/home/dm/code/mock-ui/packages/server/lib/server.js:4:1)
server:     at Module._compile (internal/modules/cjs/loader.js:999:30)
server:     at babelWatchLoader (/home/dm/code/mock-ui/packages/server/node_modules/babel-watch/runner.js:58:13)
server:     at Object.reqExtensions.<computed> [as .js] (/home/dm/code/mock-ui/packages/server/node_modules/babel-watch/runner.js:69:7)

@bonesoul
Copy link

bonesoul commented Nov 11, 2021

same here? any solutions?

when i try 'import ora from 'ora';' in my node project getting:

  import ora from 'ora';
  ^^^^^^

  SyntaxError: Cannot use import statement outside a module
      at Object.compileFunction (node:vm:352:18)
      at wrapSafe (node:internal/modules/cjs/loader:1031:15)
      at Module._compile (node:internal/modules/cjs/loader:1065:27)
      at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
      at Module.load (node:internal/modules/cjs/loader:981:32)
      at Function.Module._load (node:internal/modules/cjs/loader:822:12)
      at Module.require (node:internal/modules/cjs/loader:1005:19)
      at require (node:internal/modules/cjs/helpers:102:18)
      at runScraper (D:\Coding\vizesizgezi.com\scraper\manager.js:28:16)
      at Object.module.exports.initialize (D:\Coding\vizesizgezi.com\scraper\manager.js:19:3)
}

@george-waynee
Copy link

george-waynee commented Nov 18, 2021

注意当前加载模块的规则是哪种?
一种是 ES6 模块,简称 ESM;
另一种是 Node.js 专用的 CommonJS 模块,简称 CJS。
这两种模块不兼容。

//  在commonJS模块,可以使用 await import()

;(async () => {
  const ora = await (await import('ora')).default
  const spinner = ora('正在发布到服务器...')
  // enjoy your code
})

@wind4gis
Copy link

writing like this will looks better

getSpinner(txt = "") {
    const { default: ora } = await import("ora");
    return ora(txt);
  }

@zhangyao22
Copy link

const ora = require('ora')
依赖版本使用这个 "ora": "^5.4.0"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants