fs-extra复制文件输出空白文件

当我运行下面的代码时,会使用正确的名称创build一个空白文件。 我显然不想要一个空白的文件。

我知道path是正确的,因为当我故意不正确的失败(显然)

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

这个输出是Copy Complete但是,如前所述,该文件是空白的。 任何想法我在这里做错了吗?

我修改了您的代码并在我的电脑上进行了检查。

所以结果: http : //joxi.ru/ZrJEEJh1KXw1Aj 这里

结帐这个代码:

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

如果再次失败,请确保代码没有问题。

检查你的文件系统可能有一些打开的文件限制,权限问题或没有可用空间。

我也可以猜测源文件是空的,所以:

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

你的呼叫process.exit干扰/中止,然后才能完成。 不需要调用process.exit。 一切完成后它将退出。