2016-08-30 11 views
1

Когда я запускаю следующий код, создается пустой файл с правильным именем. Я явно не хочу пустой файл.fs-extra copy 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 Но файл пуст, как я уже сказал. Любая идея, что я делаю неправильно здесь?

ответ

1

Я изменил ваш код и проверил на своем ПК.

Так результат: http://joxi.ru/ZrJEEJh1KXw1Ajhere

Checkout этот код:

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

Это был вопрос прав доступа к файлам. Спасибо @ num8er за помощь –

0

Ваш вызов process.exit вмешался/прервался, прежде чем он смог закончить. Не нужно вызывать process.exit. Он выйдет, когда все будет сделано.

+0

Да, я был явным, как это только когда-либо пытался как автономный модуль –

 Смежные вопросы

  • Нет связанных вопросов^_^