Невозможно записать файл с помощью Electron

#javascript #node.js #electron

#javascript #node.js #electron

Вопрос:

Попытка написать простой файл журнала с помощью Electron, отлично работает во время разработки, но завершается неудачей после упаковки приложения

 logFilePath = path.join(app.getPath('userData'), 'output/'   moment().format('YYYYMMDD')   '.log'),
logger = fs.createWriteStream(logFilePath, {flags: 'a '});
 

и часть package.json для распаковки файлов выглядит следующим образом

     "asarUnpack": [
        "./output/*"
    ],
 

сообщение об ошибке отсутствует: нет такого файла или каталога

Ответ №1:

Почему у вас есть запятая в конце первой строки?

Запуск вашего кода без запятой и объявление переменных:

 let logFilePath = path.join(app.getPath('userData'), 'output/'   moment().format('YYYYMMDD')   '.log')
console.log('logFilePath', logFilePath);

let logger = fs.createWriteStream(logFilePath, {flags: 'a '});
console.log('logger', logger);
 

 logFilePath /Users/xxx/Library/Application Support/file-launcher/output/20210318.log

logger WriteStream {
  _writableState: WritableState {
    objectMode: false,
    highWaterMark: 16384,
    finalCalled: false,
    needDrain: false,
    ending: false,
    ended: false,
    finished: false,
    destroyed: false,
    decodeStrings: true,
    defaultEncoding: 'utf8',
    length: 0,
    writing: false,
    corked: 0,
    sync: true,
    bufferProcessing: false,
    onwrite: [Function: bound onwrite],
    writecb: null,
    writelen: 0,
    afterWriteTickInfo: null,
    bufferedRequest: null,
    lastBufferedRequest: null,
    pendingcb: 0,
    prefinished: false,
    errorEmitted: false,
    emitClose: false,
    autoDestroy: false,
    bufferedRequestCount: 0,
    corkedRequestsFree: {
      next: null,
      entry: null,
      finish: [Function: bound onCorkedFinish]
    }
  },
  writable: true,
  _events: [Object: null prototype] {},
  _eventsCount: 0,
  _maxListeners: undefined,
  path: '/Users/xxx/Library/Application Support/file-launcher/output/20210318.log',
  fd: null,
  flags: 'a ',
  mode: 438,
  start: undefined,
  autoClose: true,
  pos: undefined,
  bytesWritten: 0,
  closed: false
}