当我运行以下代码时,会使用正确的名称创建一个空白文件。我显然不想要一个空白文件。
我知道路径是正确的,因为当我故意使它不正确时(显然)失败了
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
但是如前所述,该文件是空白的。知道我在这里做错了吗?
答案 0 :(得分:1)
我已修改您的代码并在我的电脑上查看。
结果: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
答案 1 :(得分:0)
您对process.exit的调用在完成之前受到干扰/中止。不需要调用process.exit。一切都完成后它会退出。