我尝试将纳米体导入到NestJS中,并得到了以下错误:
错误ERR_REQUIRE_ESM:要求ES模块的(). ..。相反,更改index.js的要求。到在所有CommonJS模块中可用的动态导入()。
进口代码是:
import { Injectable } from '@nestjs/common';
import { nanoid } from 'nanoid'; //wont import, gives error
import { User } from './data-objects/user.object';我还尝试了修改进口声明:
// I tried this alternative
import * as nanoid from 'nanoid';
// Also tried this
const nanoid = require ( 'nanoid' );什么都没用。
为什么会发生这个错误,我应该如何在NestJS中安装纳米棒呢?
发布于 2022-08-01 10:54:12
通过简单的搜索,我无法找到我的问题的直接答案,只有在对纳米github问题#365进行了一些研究之后,我才找到了答案。
关于这个问题的一些背景
直到NestJS支持ESM的某一天到来,您将不得不使用纳米版本3.x.x。
如何修复
npm uninstall nanoidnpm install nanoid@^3.0.0我的解决方案的来源来自github问题@ayushsharma82 82中的一条评论。
https://stackoverflow.com/questions/73192655
复制相似问题