Коды пакетов Webpack говорят, что конструктор класса вызовов без нового ключевого слова - PullRequest
0 голосов
/ 21 января 2019

Есть много одного и того же вопроса, ни одна из тем не решит мою проблему

Я хочу создать свой образ докера, но не хочу вставлять node_modules в образ, поэтому я объединяю все коды, используя веб-пакет, затем удаляю node_modules

Плагины будут иметь экспорт по умолчанию, который может быть классом или функцией ES6, поэтому я следую https://stackoverflow.com/a/30760236/7529562, чтобы проверить, является ли экспорт классом или нормальной функцией,

function isClass(v) {
  return typeof v === 'function' && /^\s*class\s+/.test(v.toString());
}

Когда я запускаю node index.js, это работает

Но после того, как я соберу все коды в bundle.js, запустите с node bundle.js

Сказано

TypeError: Class constructor cannot be invoked without 'new'

Каково текущее поведение?

Бросок TypeError: Class constructor cannot be invoked without 'new'

Воспроизвести репо https://github.com/iamwwc/webpack-isClass-report

Клонируйте этот репозиторий и следуйте файлу readme

очень простой репо, не слишком много кодов

Какое поведение ожидается?

Он должен работать без исключения TypeError: Class constructor cannot be invoked without 'new'

Более важно

Если я запускаю bundle.js коды без формата (все коды в одной строке), он выдаст исключение

Но если я форматирую js, использую расширение vscode Beautify, а затем запускаю node bundle.js, он работает очень хорошо

Вы можете найти два файла в следующем

https://gist.github.com/iamwwc/84c5836036ded93728542883b9650877

Другая соответствующая информация:

версия веб-пакета: 4.25.0 (глобальная) /// ^ 4.29.0 (локальная)

Node.js версия: v10.13.0

Операционная система: Windows 10 pro 1809

Дополнительные инструменты: машинопись

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...