2016-10-27 2 views
1

Если я использую imports-loader, что это означает exports=>false деталь в конфигурации? Он должен вводить переменную var exports = false, но я не знаю, когда и зачем мне нужна эта переменная.export => false in import-loader в Webpack

module : { 
    loaders : [ 
      { 
       test : /eonasdan-bootstrap-datetimepicker/, 
       loader : 'imports?define=>false,exports=>false,moment=moment' 
      }] 
} 
+0

Мне не удалось найти импорт для обрезки модулей с помощью export = false, можете ли вы указать ссылку, где она используется? –

+0

@pritishvaidya в этом [ответе] (http://stackoverflow.com/a/36990114/968379) – Matt

ответ

2

Импорт для подкладок код третьей стороны, который ожидает глобальный быть определен таким образом, как JQuery $ или AMD, define. Причина, по которой вы, возможно, захотите это сделать, - это то, что модульные связки часто объединяются в форматы, которые AMD и CommonJS понимают как формат универсального модуля UMD. При импорте модуля UMD он сначала проверяет, существует ли определение (AMD), а затем экспортируется (CommonJS). У Webpack проще разбора CommonJS (собственный формат узлов), поэтому установка define to false явно указывает webpack не анализировать его как модуль AMD.

UPDATE

Похоже, что они, вероятно, отключив весь экспорт модуля и определить момент, как момент библиотеку JS. Я бы предположил, что код в этой библиотеке расширяет элемент управления bootprap datepicker с помощью функций с момента.

+0

Я знаю, почему мы используем 'var define = false', но я спросил, что такое' var export = false' – Matt

+0

@Matt это приведет к отключению CommonJS [exports] (https://www.sitepoint.com/understanding-module-exports-exports-node-js/) в этом случае. Обычно, когда я использую этот модуль, я читаю код, который я пытаюсь импортировать и корректировать строку импорта соответственно. – cchamberlain

+0

Кажется, они определяют, что оба они являются ложными, чтобы отключить экспорт всех модулей и установить ссылки на библиотеку момента времени. Определения будут введены в верхней части кода. – cchamberlain