Если вы используете 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')
]
}
]
}
Привет, это звучит о праве. Я сделал сам и сделал (неудобное?) Регулярное выражение так: 'exclude:/node_modules \/(?! @ Company \/private-module) /' –
yup, если вы используете «include», как в моем примере кода , он будет использовать только код из srcPath (измените это на место, где находятся исходные файлы), pus путь к модулю из node_modules, который вам нужен для «Babelize», –