我正在尝试在我的下一个js应用程序中使用useDapp和pinata。我的package.json文件如下所示:
"name": "eternity",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
},
"dependencies": {
"@pinata/sdk": "^1.1.23",
"@usedapp/core": "^0.10.0",
"antd": "^4.18.5",
"next": "12.0.9",
"react": "17.0.2",
"react-dom": "17.0.2"
},
"devDependencies": {
"eslint": "8.8.0",
"eslint-config-next": "12.0.9"
}
}useDapp运行良好,但当我尝试使用pinata时,会出现错误。我运行了这样一个非常基本的测试代码:
import pinataSDK from "@pinata/sdk";
const pinataTest = () => {
const pinata = pinataSDK(
"5d349f3841ee16d7e668",
"a6f32583de5736824a606746f0b9b9bc365a5c81b3d1c9f1a98822a39ddfbb6d"
);
pinata
.testAuthentication()
.then((result) => {
console.log(result);
})
.catch((err) => {
console.log(err);
});
};
export default pinataTest; 它只是在pinata的官方文档中给出的一个测试代码。但我遇到了这个错误。
https://nextjs.org/docs/messages/module-not-found
wait - compiling...
error - ./node_modules/@pinata/sdk/lib/pinata-sdk.js:24051:0
Module not found: Can't resolve 'fs'对此错误提出了可能的解决方案:Module not found: Error: Can't resolve 'fs' in
似乎适合我的解决方案是修改我的next.config.js文件,如下所示:
module.exports = {
reactStrictMode: true,
externals: {
FileReader: "FileReader",
},
webpack5: true,
webpack: (config, { isServer }) => {
if (!isServer) {
config.resolve.fallback = { fs: false };
}
return config;
},
};它似乎解决了'fs未找到错误,但随后我遇到了下一个错误:
ready - started server on 0.0.0.0:3000, url: http://localhost:3000
error - ./node_modules/js-sha3/src/sha3.js:21:0
Module not found: Can't resolve 'process'
Import trace for requested module:
./node_modules/@ethersproject/keccak256/lib.esm/index.js
./node_modules/@ethersproject/abi/lib.esm/interface.js
./node_modules/@ethersproject/abi/lib.esm/index.js
./node_modules/@usedapp/core/dist/esm/src/constants/abi/index.js
./node_modules/@usedapp/core/dist/esm/src/constants/index.js
./node_modules/@usedapp/core/dist/esm/src/index.js
./pages/_app.js似乎@useDapp模块在没有fs的情况下无法工作。有办法解决这个问题吗?或者,在我的下一个js应用程序中使用useDapp和pinata时,我是不是遗漏了一些基本的东西。
发布于 2022-02-03 07:55:22
我也得到了错误Module not found: Can't resolve 'fs
简单的解决方案对我有效:
import fs from "fs";https://stackoverflow.com/questions/70967494
复制相似问题