长话短说,我试图在 CommonJS 模块中使用只有一个 ES6 模块入口点的 npm 包,即 bids-validator
(GitHub),因为我的整个 50 多个模块应用程序是内置于 CommonJS。根据节点 documentation,执行此操作的标准方法是使用 import()
函数。我尝试了这种方法,代码如下:
async function importValidator() {
const { validate } = await import('bids-validator')
return validate
}
const validate = importValidator()
然而,这会导致 bids-validator
包出错,不一定是上面的导入函数:
error: unhandledRejection: Cannot use import statement outside a module
/*/app/api/node_modules/bids-validator/index.js:2
import validate from './validators'
有没有办法绕过这个,以便我可以在 CommonJS 模块中使用包?
答案 0 :(得分:-1)
在 package.json 中检查您选择的选项。确保选择 type:"common.js" 而不是 "module"