nodejs 中为何难以通过 require 引入 chai 库?
在实际项目中,引用 chai 断言库时,可能会遇到通过 require 语句引入失败的问题,并出现 “require() of es module not supported” 的错误提示。这是因为 chai 在 node.JS 环境中是以 es 模块的形式存在的,而 require 只支持引入 commonjs 模块。
要解决此问题,可以采用两种方法:
-
使用 import 引入 es 模块:
将 require 更改为 import 语法,如下所示:
import { assert } from "chai";
-
引入 commonjs 模块:
查看 chai 库的文档,确定是否提供了 commonjs 格式的模块。如果提供了,请使用 npm 安装 commonjs 包,如下所示:
npm install chai@commonjs
然后,在代码中使用 require 引入 commonjs 模块:
const { assert } = require("chai/es/assert");