我更新到nanoid4,并开始收到以下错误:
ERR_REQUIRE_ESM:不支持ES模块./node_ Module /nanoid/index.js的要求()。相反,将./ index.js _test.ts中的CommonJS要求更改为在所有CommonJS模块中可用的动态导入()
这就是它所抱怨的进口:
import { customAlphabet } from 'nanoid'这是我使用的tsconfig文件:
{
"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"
]
}不知道它为什么坏了
发布于 2022-06-21 21:08:42
出现"ERR_REQUIRE_ESM: require()不支持“错误是因为您正在导入的包已转换为ESM唯一的包,这意味着包不能再用require()导入。使用npm纳米管@2.1.11
发布于 2022-11-23 11:52:07
如果您使用另一个版本的nanoid,它就能工作。例如:
npm uninstall nanoid
npm install nanoid@3.3.4如果没有,请尝试根据tsconfig.json更改到这个的一些内容。
发布于 2022-09-26 12:14:52
我将我的导入更改为:导入*作为纳米线,从' nanoid ';并且它成功了,所以您可以尝试重写导入语句。
纳米文档并没有具体说明这一点,但我只是考虑了一下,尝试了一下,结果成功了。
我希望这对其他人有帮助
https://stackoverflow.com/questions/72597602
复制相似问题