Есть много одного и того же вопроса, ни одна из тем не решит мою проблему
Я хочу создать свой образ докера, но не хочу вставлять 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
Дополнительные инструменты: машинопись