Экспресс-минификация не может унизить сценарий es6, как использовать babel для передачи транспилируемого скрипта в экспресс-минификацию? - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь минимизировать свои скрипты с помощью промежуточного программного обеспечения express-minify, но я получаю сообщение об ошибке от модуля uglify: SyntaxError: Неожиданный токен: name (n) Проблема в том, что uglify не может разобрать скрипты es2015. Есть ли способ перенести мой скрипт в промежуточное ПО перед минификацией? мой код:

    app.use(compression());
    app.use(minify({
      cache: "./cache",
      uglifyJsModule: uglifyJs,
      errorHandler: function (errorInfo, callback) {
        console.log(errorInfo);
        if (errorInfo.stage === 'compile') {
          callback(errorInfo.error, JSON.stringify(errorInfo.error));
          return;
        }
        callback(errorInfo.error, errorInfo.body);
      }
    }));
    app.use(express.static('public', config.staticOptions));

1 Ответ

0 голосов
/ 15 января 2019

Решено с помощью uglify-es:

var uglifyEs = require('uglify-es');
app.use(compression());
app.use(minify({
  cache: "./cache",
  uglifyJsModule: uglifyEs,
  errorHandler: function (errorInfo, callback) {
    console.log(errorInfo);
    if (errorInfo.stage === 'compile') {
      callback(errorInfo.error, JSON.stringify(errorInfo.error));
      return;
    }
    callback(errorInfo.error, errorInfo.body);
  }
}));
app.use(express.static('public', config.staticOptions));
...