0

安全帽测试教程用于require导入,而不是import.

该站点将 CommonJS 使用require和 ESModule 描述为使用import.

我有一些使用ESModule样式(导出和导入)的代码,我不能轻易地在 Hardhat 代码中使用它。

如何在安全帽中使用 ESModule 样式的代码?

跑步时npx hardhat test

  • 如果我在安全帽代码中使用 ESModule 样式import,我会收到您期望的错误:
An unexpected error occurred:

.../solidity/test/some_code.js:6
import { aSymbol } from "../blah/src/utils/helpers"
^^^^^^
  • 如果我require在安全帽代码中使用,我会收到您对 ESModule 样式的抱怨export
.../blah/src/utils/helpers.js:35
export async function aSymbol() {
^^^^^^

SyntaxError: Unexpected token 'export'
    at Object.compileFunction (node:vm:352:18)
    at wrapSafe (node:internal/modules/cjs/loader:1031:15)
    at Module._compile (node:internal/modules/cjs/loader:1065:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (.../solidity/test/some_code.js:5:6)

编辑可能是相关的,仍在阅读。

4

0 回答 0