Почему лоадер Babel ломает другой лоадер?

Использую в Webpack 2 лоадера:
loaders: [
      {
        test: /\.js$/,
        loader: 'babel?presets[]=es2015'
      },
      {
        test: /\.(nunj|nunjucks)$/,
        loader: 'nunjucks-loader'
      }
    ]

С первым, думаю, все понятно. Второй - обрабатывает шаблоны nunjucks.
Без первого Webpack геренирует такой код:
(function webpackUniversalModuleDefinition(root, factory) {
		if(true)
			module.exports = factory();
		else if(typeof define === 'function' && define.amd)
			define([], factory);
		else if(typeof exports === 'object')
			exports["nunjucks"] = factory();
		else
			root["nunjucks"] = factory();
	})(this, function() {


Если же включить babel-loader, то тот же блок кода становится таким:
(function webpackUniversalModuleDefinition(root, factory) {
		if (( false ? 'undefined' : _typeof(exports)) === 'object' && ( false ? 'undefined' : _typeof(module)) === 'object') module.exports = factory();else if (true) !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else if ((typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object') exports["nunjucks"] = factory();else root["nunjucks"] = factory();
	})(undefined, function () {


Появляются какие-то переменные, вместо "...this, function..." в последней строке "...undefined, function..". В общем все ломается, nunjucks не работает.

Почему такое происходит? Как с этим бороться?
Буду блогдарен за любые предположения.
  • Вопрос задан
  • 258 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы