Почему мое электронное приложение не может получить доступ к модулю 'fs'? - PullRequest
2 голосов
/ 23 июня 2019

У меня относительно простое электронное приложение - бранч, реагирование, редукция, электрон.Я сейчас пытаюсь прочитать файл json, используя модуль узла "fs", но выдает ошибку:

TypeError: _fs2.default.readFile не является функцией

После исследования похоже, что модуль не содержит ничего.Компиляция говорит, что она доступна и в комплекте, но результирующий vendor.js выглядит странно.Вот, вероятно, важная часть:

[...]
var global = typeof window === 'undefined' ? this : window;require.register("fs", function(exports, require, module) {
  module.exports = {};
});
[...]

Не похоже, что бранч правильно связывает эти нативные модули.Я также попробовал это с электронным модулем и ipc, но там он уже терпит неудачу при загрузке electron/index.js при попытке require('path').

Вот мой brunch-config.js:

exports.files = {
  javascripts: {
    joinTo: {
      'js/vendor.js': /^(?!app)/,
      'js/app.js': /^app/
    }
  },
  stylesheets: {joinTo: 'app.css'}
};

exports.plugins = {
  babel: {
    presets: [
      ['env',
        {
          targets: {
            "browsers": ["Electron >= 1.7.8"]
          }
        }
      ],
      'stage-3',
      'react'
    ]
  }
};

Я что-то забыл в своем бранч-конфиге?Я использую импорт ES6, но проблема также возникает, если я использую commonjs.

...