找不到模块:错误:无法解析“fs”react js

Dan*_*kii 5 javascript node.js npm reactjs webpack

对于使用 tatum io v1 + React 遇到此问题的人!开发者说这是react的问题,他们会在V2中修复它 你可以使用tatum io V1和node js!

我已经添加了可能修复此错误的所有依赖项,但仍然存在 fs 问题

应用程序.js

import React from "react";
import {
  deployMarketplaceListing,
  sendMarketplaceApproveErc20Spending,
  sendMarketplaceBuyListing,
  sendMarketplaceCreateListing,
  sendCeloSmartContractReadMethodInvocationTransaction,
  sendAuctionApproveNftTransfer,
} from "@tatumio/tatum";

const App = () => {
  <>
    <div>
      <h1>TEST</h1>
    </div>
  </>;
};

export default App;
Run Code Online (Sandbox Code Playgroud)

导入之后我遇到了 40 多个错误。我已经用这个文件修复了大部分问题

配置覆盖.js

const webpack = require("webpack");

module.exports = function override(config) {
  const fallback = config.resolve.fallback || {};
  Object.assign(fallback, {
    crypto: require.resolve("crypto-browserify"),
    stream: require.resolve("stream-browserify"),
    assert: require.resolve("assert"),
    http: require.resolve("stream-http"),
    https: require.resolve("https-browserify"),
    os: require.resolve("os-browserify"),
    url: require.resolve("url"),
    path: require.resolve("path-browserify"),
  });
  config.resolve.fallback = fallback;
  config.plugins = (config.plugins || []).concat([
    new webpack.ProvidePlugin({
      process: "process/browser",
      Buffer: ["buffer", "Buffer"],
    }),
  ]);
  return config;
};
Run Code Online (Sandbox Code Playgroud)

比我这个错误多了8次

./node_modules/@elrondnetwork/bls-wasm/bls_c.js 中的错误 54:30-43

找不到模块:错误:无法解析“/home/galich/Desktop/projects/mp-test/node_modules/@elrondnetwork/bls-wasm”中的“fs”

./node_modules/@elrondnetwork/erdjs/out/smartcontracts/code.js 中的错误 78:24-37

找不到模块:错误:无法解析“/home/galich/Desktop/projects/mp-test/node_modules/@elrondnetwork/erdjs/out/smartcontracts”中的“fs”

./node_modules/@elrondnetwork/erdjs/out/smartcontracts/typesystem/abiRegistry.js 中的错误 78:24-37

找不到模块:错误:无法解析“/home/galich/Desktop/projects/mp-test/node_modules/@elrondnetwork/erdjs/out/smartcontracts/typesystem”中的“fs”

./node_modules/@elrondnetwork/erdjs/out/smartcontracts/wrapper/contractWrapper.js 中的错误 48:29-42

找不到模块:错误:无法解析“/home/galich/Desktop/projects/mp-test/node_modules/@elrondnetwork/erdjs/out/smartcontracts/wrapper”中的“fs”

./node_modules/@elrondnetwork/erdjs/out/testutils/wallets.js 72:24-37 中出现错误

找不到模块:错误:无法解析“/home/galich/Desktop/projects/mp-test/node_modules/@elrondnetwork/erdjs/out/testutils”中的“fs”

./node_modules/@emurgo/cardano-serialization-lib-nodejs/cardano_serialization_lib.js 中的错误 10824:14-40

找不到模块:错误:无法解析“/home/galich/Desktop/projects/mp-test/node_modules/@emurgo/cardano-serialization-lib-nodejs”中的“fs”

./node_modules/cardano-crypto.js/lib.js 中的错误 38:28-41

找不到模块:错误:无法解析“/home/galich/Desktop/projects/mp-test/node_modules/cardano-crypto.js”中的“fs”

./node_modules/caver-js/packages/caver-ipfs/src/index.js 中的错误 22:11-24

找不到模块:错误:无法解析“/home/galich/Desktop/projects/mp-test/node_modules/caver-js/packages/caver-ipfs/src”中的“fs”

比我尝试修复它们

webpack.config.js

module.exports = (phase, { defaultConfig }) => {
  return {
    ...defaultConfig,

    webpack: (config) => {
      config.resolve = {
        ...config.resolve,
        fallback: {
          fs: false,
          path: false,
          os: false,
        },
        node: {
          fs: "empty",
        },
      };
      return config;
    },
  };
};
Run Code Online (Sandbox Code Playgroud)

与我将这些行添加到 package.json 相比,它没有多大帮助

"browser": {
    "fs": false,
    "path": false,
    "os": false
  },
Run Code Online (Sandbox Code Playgroud)

所以我一直在努力寻找解决方案,花了 2 个小时,有人有一些想法吗?如何解决这个问题?谢谢。

nur*_*afi 7

不知何故,您的应用程序的模块丢失了。

我遇到了类似的问题,我通过拨打以下电话解决了它:

npm cache clean --force
npm install
Run Code Online (Sandbox Code Playgroud)

进而

npm start
Run Code Online (Sandbox Code Playgroud)