require('fs-extra') 未加载:抛出错误“找不到模块 fs-extra”

问题描述 投票:0回答:2

尝试将一些已安装的 npm 软件包(例如 fs-extra)使用到 Truffle 给出的以下 js 文件中。但它说“找不到模块“fs-extra”。

1)尝试使用 require() 方法导入本地js文件,但也失败了。

2)尝试使用节点运行单独的js文件,它工作得很好。

3)当我尝试在 APP 对象中声明的函数内使用

require("fs-extra")
时,问题就出现了。

App = {
  web3Provider: null,
  contracts: {},
  init: async function () {
    return await App.initWeb3();
  },
  initWeb3: async function () {
    // Modern dapp browsers...
    if (window.ethereum) {
      App.web3Provider = window.ethereum;
      try {
        // Request account access
        await window.ethereum.enable();
      } catch (error) {
        // User denied account access...
        console.error("User denied account access")
      }
    }
    // Legacy dapp browsers...
    else if (window.web3) {
      App.web3Provider = window.web3.currentProvider;
    }
    // If no injected web3 instance is detected, fall back to Ganache
    else {
      App.web3Provider = new Web3.providers.HttpProvider('http://0.0.0.0:9283');
    }
    web3 = new Web3(App.web3Provider);

    return App.initContract();
  },

  initContract: function () {

    $.getJSON('UserCreation.json', function (data) {  //<VK>Satish to add his contract file here
      // Get the necessary contract artifact file and instantiate it with truffle-contract
      var CMArtifact = data;
      App.contracts.UserCreation = TruffleContract(CMArtifact);
      App.contracts.UserCreation.setProvider(App.web3Provider);

    });
    return App.bindEvents();
  },

  createUser: function (event) {
    event.preventDefault();
    var username = $("#sign-up-username").val();
    var title = $("#sign-up-title").val();
    var intro = $("#sign-up-intro").val();
   const utility=require('fs-extra');  // Failing to find module
  }

}


$(function () {
  console.log("initiaing farmer")
  $(window).load(function () {
    App.init();
  });
});

预期:应该能够调用 fs-extra 包中的方法

实际:找不到模块“fs-extra”

javascript typescript requirejs truffle
2个回答
0
投票

npm ls fs-extra
检查您是否已正确安装。那就试试
npm install fs-extra


0
投票

require('fs-extra') 只能在服务器端 javascript (nodejs) 中工作。

如果您的代码在浏览器上运行,则 require 将不起作用

© www.soinside.com 2019 - 2024. All rights reserved.