node.jsfsfs-extra

fs-extra copy file outputs blank file


When I run the following code a blank file gets created with the correct name. I clearly dont want a blank file.

I know the path is correct because when i make it purposely incorrect it fails (obviously)

const path = require('path');
const fse = require('fs-extra');
const OUTPUT_PATH   = 'js/libs/';
const _NODE_MODULES   = 'node_modules/';
const filePath        = `${_NODE_MODULES}tooltipster/dist/js/tooltipster.bundle.min.js`;

fse.copy(path.join(__dirname, filePath), path.join(__dirname, `${OUTPUT_PATH}/something.js`), err => {
  if (err) {
    console.log(err);
    process.exit(1)
  }
  console.log('Copy complete');
  process.exit(0);
})

Output of this is Copy Complete But the file is blank as I previously stated. Any idea what I'm doing wrong here?


Solution

  • I've modified Your code and checked on my PC.

    So result: http://joxi.ru/ZrJEEJh1KXw1Ajhere

    Checkout this code:

    const path = require('path');
    const fs = require('fs-extra');
    
    let sourceFile = path.join(__dirname, 'node_modules', 'tooltipster/dist/js/tooltipster.bundle.min.js');
    let destinationFile = path.join(__dirname, 'js/libs', 'something.js');
    
    fs.copy(sourceFile, destinationFile, err => {
      if (err) {
        return console.error(err);
      }
    
      console.log('Copy complete');
    });
    

    if it fail again so, be sure that there is no issue with code.

    check Your filesystem maybe there is some open file limits, permission problems or no free space.

    also I can guess that the source file is empty, so do:

    cat node_modules/tooltipster/dist/js/tooltipster.bundle.min.js