2016-08-30 7 views
1

次のコードを実行すると、空のファイルが正しい名前で作成されます。私は明らかに空のファイルがほしいとは思わない。fs-extraコピーファイルが空白ファイルを出力する

私はそれが故意に間違って作るとき、それは(明らかに)失敗したため、パスが正しいことを知っている

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

答えて

1

コードを変更してパソコンでチェックしました。

その結果:http://joxi.ru/ZrJEEJh1KXw1Ajhere

チェックアウト、このコード:

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

をそのように再び失敗した場合、コードと全く問題がないことを確認してください。

checkファイルシステムには、開いているファイルの制限、アクセス権の問題、または空き領域がないことがあります。

も私は、ソースファイルが空であることを推測し、そうすることができます。

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

として実行されるこれは、ファイルのアクセス許可の問題でした。助けてくれてありがとう@ num8er –

0

process.exitへの呼び出しが完了する前に干渉したり中止されたりしました。 process.exitを呼び出す必要はありません。すべてが完了すると終了します。

+0

うん、私はそのように明示されていただけ、これまでスタンドアロンモジュール –

関連する問題