HarshEc
HarshEc

Reputation: 273

require('fs-extra') not loading: throwing error "Cant find module fs-extra"

Trying to use some installed npm packages like fs-extra into below js files given by Truffle.But it says "can't find module "fs-extra".

1) Tried importing local js files using require() method but that fails too.

2) Tried running separate js files using node and it works just fine.

3) Issue comes when I try to use require("fs-extra") inside a function declared in APP object.

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();
  });
});

Expected: Should be able to call methods from fs-extra package

Actual : can't find module "fs-extra"

Upvotes: 1

Views: 8966

Answers (2)

Manos Kounelakis
Manos Kounelakis

Reputation: 3181

require('fs-extra') will only work in server side javascript (nodejs) .

If your code runs on a browser require will not work

Upvotes: 0

gatsbyz
gatsbyz

Reputation: 1075

npm ls fs-extra to check if you've installed it correctly. Then try npm install fs-extra.

Upvotes: 0

Related Questions