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。 一切完成后它将退出。