Vextor-ltd
@Vextor-ltd
Webdeveloper

Почему код из npm пакета `highlight.js` не хочет аглифицироваться на продакшене? Как это исправить?

В main.js импортирую в числе других импортов highlight.js:
import hljs from 'highlight.js';
hljs.highlightAll();


Прогоняю в Галпе весь JS-код через Webpack:
...
.pipe(webpackStream({
            mode: `${(devMode === true) ? 'development' : 'production'}`, // translate our mode for webpack
            output: {
                filename: `${path.build.jsOutput}`,  // specify just one output file
            },
            module: {
                rules: [
                    {
                        test: /\.(js)$/,    // get all the js-files
                        exclude: /(node_modules)/, // exclude development modules folder
                        loader: 'babel-loader', // convert ES6 into a backwards compatible version of JS
                        query: {
                            presets: ['@babel/env'] // use babel preset
                        }
                    },
                ]
            },
            optimization: {
                minimizer: [
                  new UglifyJsPlugin({      // minify JS
                    uglifyOptions: {
                      output: {
                        comments: false,    // disable even special comments
                      },
                    },
                  }),
                ],
            }
        })).on('error', function handleError() {
            this.emit('end')
        })
...


Когда ставлю на продакшен, в консоли вижу:
ERROR in main.js from UglifyJs
Unexpected token: name «Response», expected: punc «;» [main.js:22946,6]


Опытным путём определяю, что это `highlight.js`.

Как это исправить? Не цеплять же с cdn :(

https://www.npmjs.com/package/highlight.js
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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