Бранч, как отключить упаковку модуля RequireJS

Обновление: для всех, кто заинтересован в использовании Brunch с AngularJS Я собрал исходный проект angular-brunch-seed

Я использую Brunch с AngularJS. AngularJS предоставляет модульную систему, поэтому необходимость импорта файла с использованием commonJS/AMD является излишней. Можно ли отключить эту функцию для файлов в каталоге /app? По сути, я хотел бы, чтобы он компилировал файлы без изменений, как это делается для каталога /vendor.

Таким образом, предпочтительным результатом будет:

  joinTo:
    'js/app.js': /^app/
    'js/vendor.js': /^vendor/

И js/app.js, и js/vender.js содержат файлы компиляции из каждой соответствующей папки, но не упакованы.

У кого-нибудь есть идеи?

ОБНОВЛЕНИЕ Синтаксис изменился по сравнению с ответом @jcruz. Вот как это сделать сейчас.

В конце концов я выбрал модифицированную версию ответа @jcruz.

exports.config =
  modules:
    definition: false
    wrapper: (path, data) ->
      """
(function() {
  'use strict';
  #{data}
}).call(this);\n\n
      """
  files:
    javascripts:
      defaultExtension: 'coffee'
      joinTo:
        'js/app.js': /^app/
        'js/vendor.js': /^vendor/

По умолчанию «сырая» оболочка не включает стандартную оболочку coffeescript. Установив для jsWrapper значение:

wrapper: (path, data) ->
  """
(function() {
  'use strict';
  #{data}
}).call(this);
  """

файлы будут упакованы, как и ожидалось.


person Kyle Finley    schedule 17.06.2012    source источник
comment
эй, спасибо за обновление этого вопроса с новым синтаксисом. Я только что обновил бранч, и старый синтаксис jsWrapper не работал.   -  person jcruz    schedule 10.09.2012


Ответы (3)


Недавно была добавлена ​​возможность отключить перенос модуля в https://github.com/brunch/brunch/commit/ec158cffd1b66d5db2093cf766000673aa0dd3a5

Я не верю, что релиз с этими функциями еще находится на npm, но вы можете просто переустановить бранч из репозитория github.

После того, как вы сделаете этот бранч, установите для jsWrapper значение «raw» в вашем config.coffee.

Что-то вроде этого...

exports.config =
  jsWrapper: 'raw'
  files:
    javascripts:
      defaultExtension: 'js'
      joinTo:
        'javascripts/app.js': /^app/
        'javascripts/vendor.js': /^vendor/

'brunch b' и код упаковки должен исчезнуть

person jcruz    schedule 06.07.2012
comment
В итоге я передал функцию для переноса файлов в стандартную оболочку coffeescript, но в остальном она работает отлично. Благодарю вас! - person Kyle Finley; 07.07.2012

Насколько я вижу, теперь это изменено на конфигурацию модуля: https://github.com/brunch/brunch/blob/stable/docs/config.md#modules

exports.config =
  paths:
    ...
  files:
    ...
  modules:
    wrapper: false
    definition: false
person thasmo    schedule 16.10.2013

По состоянию на (почти) январь 2017 года необходимо объявить npm включенным как false вместе с настройками модуля. Однако мне потребовалось некоторое время, чтобы это узнать. (Нашел это через GitHub). Надеюсь это поможет. Ваше здоровье.

Вот рабочий файл конфигурации:

// See http://brunch.io for documentation.
module.exports = {
    files: {
      javascripts: {
        joinTo: {
          '/js/app.js': /^app/,
          '/js/vendor.js': /^(?!app)/
        }
      },
      stylesheets: {
        joinTo: 'css/app.css'
      }
    },

    paths: {
      public: '/priv/static'
    },

    npm: {
      enabled: false
    },

    modules: {
      wrapper: false,
      definition: false
    }
}
person dsignr    schedule 30.12.2016