Если я запустил эту команду:
rimraf docs/public/assets && cross-env NODE_ENV=production webpack -p --config webpack.production.config.js"
Я получаю такую ошибку:
ERROR in app.bundle.js from UglifyJs
Unexpected token: punc (,) [./node_modules/@fortawesome/pro-light-svg-icons/index.es.js:10344,0][app.bundle.js:12196,10]
но если я удалю -p в команде webpack, я больше не получу ошибку.
Для чего нужен -p? Признательны, если кто-нибудь может пролить свет на такое поведение.
Я использую webpack 3.12 и похоже, что ошибка вызвана тем, что webpack не распознает синтаксис es6.





Итак, после полдня отладки я решил эту проблему с помощью следующих обновлений:
в package.json: "uglifyjs-webpack-plugin": "^1.3.0"
в webpack.config.js: const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
и под plugins:
plugins: [
..........
new UglifyJsPlugin({
sourceMap: true,
cache: true,
parallel: true,
uglifyOptions: {
warnings: false,
parse: {},
compress: {},
mangle: true,
output: null
}
}),
]
Обновление до webpack4 создает больше проблем, чем исправляет, поэтому для меня это не вариант, поскольку у меня слишком много зависимостей, несовместимых с webpack4. Мне нужен был простой минификатор. Надеюсь, это поможет всем.
Какую версию webpack вы используете? Флаг
-pозначает «режим: производство», т.е. webpack использует Uglify для минимизации вашего кода. Ошибка «punc» - распространенная проблема версий webpack до 4, см., Например, stackoverflow.com/questions/45781808/…