首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编码错误中的Nanoid4 [ERR_REQUIRE_ESM]:ES模块的要求()

编码错误中的Nanoid4 [ERR_REQUIRE_ESM]:ES模块的要求()
EN

Stack Overflow用户
提问于 2022-06-13 03:51:47
回答 3查看 4.8K关注 0票数 2

我更新到nanoid4,并开始收到以下错误:

ERR_REQUIRE_ESM:不支持ES模块./node_ Module /nanoid/index.js的要求()。相反,将./ index.js _test.ts中的CommonJS要求更改为在所有CommonJS模块中可用的动态导入()

这就是它所抱怨的进口:

代码语言:javascript
复制
import { customAlphabet } from 'nanoid'

这是我使用的tsconfig文件:

代码语言:javascript
复制
{
    "ts-node": {
      "files": true
    },
    "compilerOptions": {
      "jsx": "react-jsx",
      "types": [
        "node",
        "codeceptjs"
      ],
      "experimentalDecorators": true,
      "lib": [
        "dom",
        "dom.iterable",
        "esnext"
      ],
      "allowJs": true,
      "skipLibCheck": true,
      "strict": false,
      "forceConsistentCasingInFileNames": true,
      "noEmit": true,
      "esModuleInterop": true,
      "module": "ES6",
      "moduleResolution": "node",
      "resolveJsonModule": true,
      "incremental": true,
      "target": "ESNext",
    },
    "include": [
      "next-env.d.ts",
      "**/*.ts",
      "**/*.tsx"
    ],
    "exclude": [
      "node_modules"
    ]
  }

不知道它为什么坏了

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-06-21 21:08:42

出现"ERR_REQUIRE_ESM: require()不支持“错误是因为您正在导入的包已转换为ESM唯一的包,这意味着包不能再用require()导入。使用npm纳米管@2.1.11

票数 7
EN

Stack Overflow用户

发布于 2022-11-23 11:52:07

如果您使用另一个版本的nanoid,它就能工作。例如:

代码语言:javascript
复制
npm uninstall nanoid
npm install nanoid@3.3.4

如果没有,请尝试根据tsconfig.json更改到这个的一些内容。

票数 2
EN

Stack Overflow用户

发布于 2022-09-26 12:14:52

我将我的导入更改为:导入*作为纳米线,从' nanoid ';并且它成功了,所以您可以尝试重写导入语句。

纳米文档并没有具体说明这一点,但我只是考虑了一下,尝试了一下,结果成功了。

我希望这对其他人有帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72597602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档