你好,我有ipsf-http-client使用角的问题。在返回new IpfsHttpClient()时,我缺少了Multiaddr、anySignal、AbortController和其他出口产品。我也有错误:这个表达式是不可构造的,(./ipfs client/type/src/index“)有no construct signatures。
Angular CLI: 12.1.4
Node: 14.17.3
Package Manager: npm 6.14.13
OS: win32 x64
Python: 3.10tsconfig内部:
"skipLibCheck": true,
"target": "es2017",
"module": "es2020",
"lib": [
"es2018",
"dom",
"DOM.Iterable",
"es2015",
"es2015.iterable",
],
"paths" : {
"crypto": ["./node_modules/crypto-browserify"],
"stream": ["./node_modules/stream-browserify"],
"assert": ["./node_modules/assert-plus"],
"http": ["./node_modules/stream-http"],
"https": ["./node_modules/https-browserify"],
"os": ["./node_modules/os-browserify"],
},
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,下面是主要的ipfs init令牌。
import { Injectable, InjectionToken, Inject } from '@angular/core';
import IpfsHttpClient from 'ipfs-http-client';
export const ipfsToken = new InjectionToken('The IPFS Token', {
providedIn: 'root',
factory: () => {
try {
return new IpfsHttpClient('ipfs.infura.io', '5001', {
protocol: 'https'
});
} catch (err) {
console.log('Error', err);
throw new Error('Unable to access IPFS node daemon on Infura network');
}
}
});我可以在下面的解决方案中防止可构造的错误,但我仍然缺少Multiaddr、anySignal、AbortController和其他导出。
import { Injectable, InjectionToken, Inject } from '@angular/core';
import IpfsHttpClient from 'ipfs-http-client';
export const ipfsToken = new InjectionToken('The IPFS Token', {
providedIn: 'root',
factory: () => {
let contextClass : any = IpfsHttpClient;
let context: IpfsHttpClient.IPFSHTTPClient = new contextClass('ipfs.infura.io', '5001', {
protocol: 'https'
});
try {
console.log("IPFS");
return context;
} catch (err) {
console.log('Error', err);
throw new Error('Unable to access IPFS node daemon on Infura network');
}
}
});发布于 2021-12-01 21:53:04
在获得恼人的Multiaddr、anySignal和AbortController在我的离子项目中找不到错误的2天后,我注意到我使用了不正确的ipfs包版本。详细说明:
我用:安装了npm install --save ipfs-http-client。正式一揽子文件在安装部分中描述了这个命令。该命令安装了ipfs版本54.0.2 (我在项目工作目录中的package.json文件中签出)。
正式一揽子文件 (查看右上角)中的官方npm命令是npm i ipfs-http-client@52.0.4-rc.4。
删除package.json ipfs部分和node_module文件夹后,我运行npm i ipfs-http-client@52.0.4-rc.4并使用npm install重新安装所有软件包。这一次一切顺利,没有任何错误。
PS:我认为npm经理发布的版本是错误的开发版本。
https://stackoverflow.com/questions/69456581
复制相似问题