首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从IDE运行节点运行脚本失败没有“导出”主定义

从IDE运行节点运行脚本失败没有“导出”主定义
EN

Stack Overflow用户
提问于 2022-11-04 02:20:00
回答 1查看 59关注 0票数 0

我试图创建一个项目,它自动地将nfts部署到ipfs。我下载了一个现有的项目,并试图扩展该功能

我的packages.json看起来是这样的:

代码语言:javascript
复制
{
  "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‘}

我试过:

  1. 更改节点的版本
  2. 重新安装软件包
  3. 用纱线代替
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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之前将其降级为版本也是有效的。评论中的细节。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74311500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档