Ошибка в веб-пакете во время сборки, но не в dev: «ОШИБКА в статическом [...] от UglifyJS. Неожиданный токен: punc (...)» - PullRequest
0 голосов
/ 03 мая 2019

Наткнулся на эту ошибку после добавления модуля (в моем случае это vue2-dropzone, но, видимо, это происходит и с некоторыми другими модулями узла) к моей кодовой базе.Это произошло, когда я запустил npm run build, но все работало нормально с использованием сервера webpack (npm run dev).

ERROR in static/js/vendor.5efd79c0d4a823d6add3.js from UglifyJs
Unexpected token: punc (() [./node_modules/vue2-dropzone/dist/vue2Dropzone.js:1,41920][static/js/vendor.5efd79c0d4a823d6add3.js:42174,41885]

Нашел простое решение проблемы, которое я выкладываю в качестве ответа ниже- но очень хотелось бы услышать, если кто-нибудь знает, ПОЧЕМУ это решает проблему.

1 Ответ

0 голосов
/ 03 мая 2019

Проблема заключается в том, что по причинам выше моего уровня оплаты, babel-loader должен использоваться для загрузки этого конкретного модуля.Или что-то типа того.Решение состоит в том, чтобы изменить файл webpack.base.conf.js, включив в него модуль-нарушитель (в зависимости от того, что появляется в приведенной выше ошибке), в правило babel-loader следующим образом:

{
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test'), resolve('node_modules/<NAME_OF_NODE_MODULE>')]
}

UPDATE (per SLaks в комментариях): это происходит, когда UglifyJS требует функций Babel (например, языковых расширений) для понимания кода данного модуля.

...