我试图创建一个项目,它自动地将nfts部署到ipfs。我下载了一个现有的项目,并试图扩展该功能
我的packages.json看起来是这样的:
{
"name": "3_market_engine",
"main": "index.js",
"bin": "index.js",
"pkg": {
"assets": [
"layers/**/*",
"node_modules/**/*",
"src/**/*"
]
},
"scripts": {
"build": "node index.js",
"generate": "node index.js",
"generate_metadata": "node utils/generate_metadata.js",
},
"dependencies": {
"canvas": "^2.8.0",
"dotenv": "^16.0.3",
"gif-encoder-2": "^1.0.5",
"ipfs-http-client": "^59.0.0",
"sha1": "^1.1.1"
}但是,每当我试图向npm run generate_metadata文件中添加一个const { ipfsClient } = require('ipfs-http-client');语句时,我就可以很好地运行该命令,我得到了一个错误:
Error ERR_PACKAGE_PATH_NOT_EXPORTED:在新的NodeError (节点:内部/错误:393:5),throwExportsNotFound (节点:内部/模块/esm/解析:358:9)在resolveExports (节点: packageExportsResolve (节点:内部/模块/cjs/加载程序:529:36)的resolveExports(节点:internal/NodeError/esm/解析:612:7)处,resolveExports(节点:内部/模块/cjs/加载程序:529:36),没有“导出”/cjs/ Module._resolveFilename :569:31)在Module.require (节点: require /模块/cjs/加载程序:1061:19)的Module.require(节点:内部/模块/cjs/helpers:103:18)的Module._load (节点:require/模块/cjs/加载程序:841:27)。(C:\source\3_market_nft_engine\utils\generate_metadata.js:4:20) {代码:'ERR_PACKAGE_PATH_NOT_EXPORTED‘}
我试过:
发布于 2022-11-04 02:59:42
这是因为该包的package.json (https://github.com/ipfs/js-ipfs/blob/master/packages/ipfs-http-client/package.json)中没有package.json。按照本说明载于“变更清单”g,包应该与ESM一起使用,但这也不能解决您的问题,因为没有名为ipfsClient的导出;您需要import { create } from 'ipfs-http-client'。
编辑:正如您在评论中所指出的,将软件包切换到ESM之前将其降级为版本也是有效的。评论中的细节。
https://stackoverflow.com/questions/74311500
复制相似问题