Как запретить requirejs включать все исходные файлы и включать только файлы модулей?

Когда я создаю проект с помощью r.js (я делаю это с помощью grunt, но я отвлекся), он искажает и сжимает все файлы javascript проекта и включает их в папку сборки, даже если все эти файлы были сжаты в один файл javascript и больше не используются в своих индивидуальных формах.

Я использую модули, поэтому я не могу использовать флаг «out», потому что он несовместим. Я использую grunt-contrib-clean для очистки всех лишних файлов, но если бы я мог вообще не включать их, это было бы идеально.

Вот мой вариант options.js:

module.exports = {
  appDir: 'src',
  baseUrl: 'js/',
  mainConfigFile: 'src/js/common.js',
  dir: 'www',
  modules: [
    {
      name: 'common',
      include: [
          'jquery',
          'underscore',
          'handlebars',
          'hbs',
          'i18nprecompile',
          'json2',
          'Class'
      ]
    },
    {
        name: 'app/page1',
        exclude: ['common']
    },
    {
        name: 'app/page2',
        exclude: ['common']
    }
  ]
};

При сборке он включает все файлы в папке lib (когда нужен только один — require.js), а также включает урезанные версии всех файлов javascript, импортированных страницами page1 и page2, хотя все эти файлы были объединены в page1. .js и page2.js.

Я что-то упустил или очистка после сборки просто факт жизни?


person Steven Sacks    schedule 28.11.2012    source источник


Ответы (2)


Это можно просто исправить, установив для removeCombined значение false:

    //If set to true, any files that were combined into a build layer will be
    //removed from the output folder.
    removeCombined: false,

Подробную информацию о любых других вариантах сборки можно найти . в этом примере файла.

person Simon Smith    schedule 29.11.2012

Для этого вы можете использовать:

skipDirOptimize: true, 
removeCombined: true

skipDirOptimize: true предотвратит requirejs для оптимизации других файлов

removeCombined: true удалит все объединенные в модуль файлы

person Bang    schedule 18.11.2014