requireJS module.config() отсутствует после оптимизации

Возникла проблема при запуске оптимизатора RequireJS... В моем основном файле конфигурации определено следующее:

require.config({

  config: {
    bootstrap: {
      autoload: true
    }
  },

  ... 
}

Затем в моем файле bootstrap.js я делаю:

define(['module', 'app'], function (module, App) {
  'use strict';

  console.log(module.config().autoload);

  ...
});

Но autoload это undefined :( Однако переменная доступна в неоптимизированной версии.

Я пробовал это с другими модулями и другими переменными, но, по сути, никакая конфигурация модуля не проталкивается в выходной файл из Require's Optimizer.

Это ожидаемое поведение?


person cloakedninjas    schedule 08.07.2014    source источник
comment
Вы уверены, что модуль bootstrap.js имеет имя bootstrap после сборки? Может быть, у него есть какой-то другой идентификатор, например <libFolder>/bootstrap?   -  person ant_Ti    schedule 14.07.2014


Ответы (1)


Я знаю, что это немного поздно, но я потратил почти полдня на борьбу с той же проблемой и, наконец, обнаружил, что это сработало:

По-видимому, файл config.js или основная конфигурация являются конфигурацией времени компиляции и не будут частью конфигурации запуска/сборки. Таким образом, решение состоит в том, чтобы добавить конфигурацию модуля в начало файла main.js, используя requirejs.config({}); (это на тот случай, если он уже работал с конфигом до компиляции и минимизации/ухудшения).

eg:

вверху main.js добавить:

requirejs.config({
  config: {
    bootstrap: {
      autoload: true
    }
  }
};)
person Arathi Sreekumar    schedule 21.07.2016