1

次のコードを実行すると、空のファイルが正しい名前で作成されます。私は明らかに空のファイルを望んでいません。

意図的に間違ったパスにすると失敗するため、パスが正しいことはわかっています(明らかに)

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 前に述べたように、ファイルは空白です。ここで何が間違っているのか分かりますか?

4

2 に答える 2

1

あなたのコードを修正し、PC で確認しました。

結果: 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
于 2016-08-31T00:51:57.913 に答える