У меня проблемы с сборкой распространяемого пакета для приложения React.
Я пытаюсь выполнить следующее предложение:
rimraf dist && env-cmd .env cross-env NODE_ENV=production webpack -p --config ./config/webpack/prod.js
и получаю эту ошибку:
ERROR in a86e50ffd4893c44fdfd.app.js from UglifyJs Unexpected token:
operator (>) [a86e50ffd4893c44fdfd.app.js:10679,43]
Строка, указанная в этой трассировке, соответствует одной из библиотек, загружаемых как зависимости, а не фактическому коду моего приложения. Это сама строка (строка 10679 соответствует объявлению метода const с помощью функции стрелки):
const DEFAULT_DISPLAY_LABEL_FOR_NULL_VALUES = '';
/* unused harmony export DEFAULT_DISPLAY_LABEL_FOR_NULL_VALUES */
const getAllColumnLabels = (columnLabels) => {
const columnNames = [];
columnLabels.forEach((value) => {
columnNames.push(value.label);
});
return columnNames;
};
Сначала я подумал, что это может быть связано с конфигурацией Babel, но это идентично другому проекту, который собирается правильно. Содержимое моего .babelrc
файла показано ниже, загружено с использованием babel-preset-env
:
{
"presets": [
[
"env", {
"modules": false,
"targets": {
"browsers": [
"Chrome >= 52",
"FireFox >= 44",
"Safari >= 7",
"Explorer 11",
"last 4 Edge versions"
]
},
"useBuiltIns": true
}
]
]
}
Дополнительный тест, чтобы исключить некоторые возможности, был выполнен с использованием предустановок по умолчанию для Babel, хотя успеха с этим тестом достичь не удалось.
{
"presets": [
[
"env",
{
"modules": false
}
]
]
}
Настройки в tsconfig.json также могут быть интересны, поэтому я показываю их здесь, хотя они также идентичны настройкам в этом другом проекте, упомянутом выше, который правильно собирается:
{
"compilerOptions": {
"target": "es6",
"module": "es6",
"lib": ["dom", "es2017"],
"moduleResolution": "node",
"declaration": false,
"noImplicitAny": false,
"sourceMap": true,
"jsx": "react",
"noLib": false,
"allowJs": true,
"suppressImplicitAnyIndexErrors": true,
"skipLibCheck": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
},
"compileOnSave": true,
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}
Я пытался удалить node_modules
и переустановить зависимости, также сыграл установку uglify
в false
в env для Babelrc, но на удивление (по крайней мере, мне!) Это не помогло.
На сайте Gitub , размещенном в веб-пакете, есть ветка , помеченная как закрытая, но я не нашел ничего, что мне помогло.
Есть идеи? У меня есть некоторый опыт работы с npm, но эта проблема, безусловно, блокирует меня.
Спасибо!