fs-extra 复制文件输出空白文件
fs-extra copy file outputs blank file
当我 运行 以下代码时,会创建一个具有正确名称的空白文件。我显然不想要一个空白文件。
我知道路径是正确的,因为当我故意不正确时它失败了(很明显)
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
但是正如我之前所说,该文件是空白的。知道我在这里做错了什么吗?
您对 process.exit interfered/aborted 的调用尚未完成。不需要调用 process.exit。当一切都完成后它会退出。
我已经修改了您的代码并在我的电脑上进行了检查。
所以结果: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');
});
如果再次失败,请确保代码没有问题。
检查您的文件系统,可能存在一些打开文件限制、权限问题或没有免费 space。
我也猜到源文件是空的,所以:
cat node_modules/tooltipster/dist/js/tooltipster.bundle.min.js
当我 运行 以下代码时,会创建一个具有正确名称的空白文件。我显然不想要一个空白文件。
我知道路径是正确的,因为当我故意不正确时它失败了(很明显)
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
但是正如我之前所说,该文件是空白的。知道我在这里做错了什么吗?
您对 process.exit interfered/aborted 的调用尚未完成。不需要调用 process.exit。当一切都完成后它会退出。
我已经修改了您的代码并在我的电脑上进行了检查。
所以结果: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');
});
如果再次失败,请确保代码没有问题。
检查您的文件系统,可能存在一些打开文件限制、权限问题或没有免费 space。
我也猜到源文件是空的,所以:
cat node_modules/tooltipster/dist/js/tooltipster.bundle.min.js