在所有的象棋文档中,都使用了const chess = require('chess');.

但是,当我try 使用此语法时,我收到以下错误:

const Chess = require('chess');
              ^

Error [ERR_REQUIRE_ESM]: require() of ES Module is not supported.
Instead change the require of main.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> {
  code: 'ERR_REQUIRE_ESM'
}

有没有解决这个问题的办法?

推荐答案

dynamic import()看起来是这样的

async function loader(){
  const Chess = await import('chess')
  // things with Chess
}

正如Evert提到的,这也可以涵盖ES模块中的条件导入

Javascript相关问答推荐

我可以获取所有包含@的超链接,然后在新选项卡中打开它们吗?

判断现代浏览器中的点击是否由touch 触发

try 在addEventHandler内设置表单的文件输入.值=空

如何使用JavaScript向html元素添加样式

在NextJS中使用计时器循环逐个打开手风琴项目?

在JavaScript中,是否有一种方法可以创建自定义thable,在等待某些代码后自动触发它?

如何修复循环HTML元素附加函数中的问题?

微软Edge Select 间隙鼠标退出问题

按钮未放置在html dis位置

未捕获错误:在注销后重定向到/login页面时找不到匹配的路由

在观察框架中搜索CSV数据

加载背景图像时同步旋转不显示的问题

在Matter.js中添加从点A到另一个约束的约束

如何使用TypeScrip设置唯一属性?

从另一个数组中的对应行/键值对更新数组中的键值对对象

使用插件构建包含chart.js提供程序的Angular 库?

如何防止ionic 输入中的特殊字符.?

更改agGRID/Reaction中的单元格格式

如何在脚本编译后直接将RxJ模块导入浏览器(无需Angel、webpack、LiteServer)

如何在FiRestore中的事务中使用getCountFromServer