Сборка бранча, но не удается найти модуль «буфер» при открытии

Мы пытаемся перевести нашу сборку внешнего интерфейса на использование Brunch. Вот конфигурация бранча, которая у меня есть:

module.exports = {

  files: {
    javascripts: {
      joinTo: {
        'vendor.js': /^(?!source)/,
        'app.js': /^source/
      },
      entryPoints: {
        'source/scripts/app.jsx': 'app.js'
      }
    },
    stylesheets: {joinTo: 'core.css'},
  },

  paths: {
    watched: ['source']
  },

  modules: {
    autoRequire: {
      'app.js': ['source/scripts/app']
    }
  },

  plugins: {
    babel: {presets: ['latest', 'react']},
    postcss: {processors: [require('autoprefixer')]},
    assetsmanager: {
      copyTo: {
        'assets': ['source/resources/*']
      }
    },
    static: {
      processors: [
        require('html-brunch-static')({
          processors: [
            require('pug-brunch-static')({
              fileMatch: 'source/views/home.pug',
              fileTransform: (filename) => {
                filename = filename.replace(/\.pug$/, '.html');
                filename = filename.replace('views/', '');
                return filename;
              }
            })
          ]
        })
      ]
    }

  }

};

Я добавил раздел modules.autoRequire в конфигурацию Brunch, после чего начала происходить следующая ошибка. Без modules.autoRequire у меня нет ошибки консоли, но и мое веб-приложение не запускается. Запуск brunch build не приводит к ошибкам, но когда я открываю созданный веб-сайт, я получаю сообщение об ошибке

Неперехваченная ошибка: не удается найти модуль «буфер» из «lodash/lodash.js»

Первая строка в трассировке стека указывает мне на эту функцию в vendor.js.

var require = function(name, loaderPath) {
  if (loaderPath == null) loaderPath = '/';
  var path = expandAlias(name);

  if (has.call(cache, path)) return cache[path].exports;
  if (has.call(modules, path)) return initModule(path, modules[path]);

  throw new Error("Cannot find module '" + name + "' from '" + loaderPath + "'");
};

Я не уверен, как поступить, чтобы моя сборка заработала. Эта проблема кажется актуальной.

Как я могу преодолеть эту ошибку? (Пожалуйста, не стесняйтесь запрашивать дополнительную информацию. Я не уверен, что все будет полезно.)


person Scotty H    schedule 28.04.2017    source источник
comment
Какой у тебя package.json?   -  person Johannes Filter    schedule 30.04.2017
comment
@JohannesFilter Благодаря вашему комментарию я удалил ненужные пакеты из моего package.json, и теперь он работает.   -  person Scotty H    schedule 01.05.2017


Ответы (1)


Brunch выполняет этапы конвейера сборки из пакетов npm (специфических для бранча), определенных в файле package.json. Поэтому обязательно включите все необходимые пакеты (или удалите ненужные).

Дополнительную информацию об использовании подключаемых модулей см. в документах.

person Johannes Filter    schedule 01.05.2017