2017-02-16 5 views

ответ

1

Если вы используете Webpack 2, есть вероятность, что у вас есть зависимость в какой-то модуль, который имеет jsnext: основной параметр конфигурации, чтобы обеспечить свой код в виде модулей ES6. В этих случаях webpack 2 использует их, что отлично работает, пока вы не попытаетесь использовать Uglify, который не может работать с кодом ES6.

Возможно, вы, вероятно, не считаете свои node_modules загрузкой Babel, но для этого вам нужно сказать webpack явно, чтобы включить этот главный модуль jsnext:.

Я имел эту проблему с Упреждением-Compat и решить ее так:

module: { 
    rules: [ 
     { 
      test: /\.js$/, 
      loader: 'babel-loader', 
      include: [ 
       path.resolve(__dirname, './src'), 
       path.resolve(__dirname, './node_modules/preact-compat/src') 
      ] 
     } 
    ] 
} 
+0

Привет, это звучит о праве. Я сделал сам и сделал (неудобное?) Регулярное выражение так: 'exclude:/node_modules \/(?! @ Company \/private-module) /' –

+1

yup, если вы используете «include», как в моем примере кода , он будет использовать только код из srcPath (измените это на место, где находятся исходные файлы), pus путь к модулю из node_modules, который вам нужен для «Babelize», –

Смежные вопросы