Сборка сценариев реакции Ошибка анализа в строке 1

Я создал приложение React с «create-react-app», и оно отлично работает через «npm start», однако, когда я пытаюсь собрать или развернуть на Heroku, я получаю сообщение об ошибке в сценариях реакции build.js с журналом:

-----> Build
       Running build

       > [email protected] build /tmp/build_b6b622a1f46daa3af2d16fdb6ffb259a
       > react-scripts build

       Creating an optimized production build...
       Failed to compile.

       Parse error on line 1: 
       0.3(-1)
       ---^
       Expecting end of input, "ADD", "SUB", "MUL", "DIV", got unexpected "LPAREN"

Я пробовал: -обновление модулей npm, включая сценарии реагирования, удаление "сборки сценариев реагирования" из package.json, изменение "основного" на "запуск сценариев реагирования" в package.json

вот мой package.json

{
  "name": "doggos-react",
  "version": "0.1.0",
  "engines": {
    "node": "8.9.3",
    "npm": "6.9.0"
  },
  "private": true,
  "dependencies": {
    "caniuse-lite": "^1.0.30000989",
    "chart.js": "^2.8.0",
    "chartjs-plugin-labels": "^1.1.0",
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "gl-react": "^3.17.2",
    "glsl-fxaa": "^3.0.0",
    "glslify": "^7.0.0",
    "glslify-loader": "^2.0.0",
    "gsap": "^2.1.3",
    "jquery": "^3.4.1",
    "orbit-controls-es6": "^2.0.0",
    "pg": "^7.12.1",
    "postprocessing": "^6.6.0",
    "react": "^16.9.0",
    "react-addons": "^0.9.1-deprecated",
    "react-addons-update": "^15.6.2",
    "react-backdrop-filter": "^1.3.2",
    "react-bootstrap": "^0.32.4",
    "react-chartjs-2": "^2.7.6",
    "react-dom": "^16.9.0",
    "react-input-slider": "^4.0.1",
    "react-router-dom": "^4.3.1",
    "react-scripts": "^3.1.1",
    "react-svg-loader": "^3.0.3",
    "react-swipe": "^6.0.4",
    "react-tabulator": "^0.9.1",
    "swipe-js": "^2.2.0",
    "swipe-js-iso": "^2.1.5",
    "three": "^0.107.0",
    "three-gif-loader": "^1.1.0",
    "three-obj-loader": "^1.1.3",
    "three-svg-loader": "^0.1.0"
  },
  "main": "react-scripts start",
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "proxy": "https://my_backend_app.com",
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}

Я не знаю, что делать. сообщение об ошибке ничего не значит для меня.

В каком файле происходит ошибка синтаксического анализа строки 1? Что именно делает "react-scripts build", что могло бы пойти не так, когда "start" скрипт работает нормально?

Мне просто нужно, чтобы это приложение запускалось на heroku, независимо от того, является ли оно сборкой или просто запускается через npm start, который ДЕЙСТВИТЕЛЬНО запускается локально. Я хотел бы исправить эту ошибку, но если кто-нибудь может указать мне, где я могу просто сказать heroku выполнить «npm start», как я делаю локально, это тоже сработает.


person Joseph Ghaida    schedule 28.08.2019    source источник
comment
Поскольку ваше приложение представляет собой чисто интерфейсное приложение, развертывание в Heroku является излишним и, возможно, медленнее, чем создание ресурсов внешнего интерфейса (npm run build) и их развертывание в CDN. Ознакомьтесь с Surge.sh   -  person Stanley Nguyen    schedule 28.08.2019
comment
но npm run build у меня не работает. либо локально, либо на героку.   -  person Joseph Ghaida    schedule 28.08.2019


Ответы (3)


Оказывается, была ошибка в модуле postcss-calc, который поставляется с приложением Create React. Я решил проблему, проигнорировав этот парсер. Я установил это в своем json, чтобы удалить парсер:

  "cssnano": {
    "preset": [
      "default",
      {
        "calc": false
      }
    ]
  },

сообщается об ошибке, и я получил свое решение здесь

person Joseph Ghaida    schedule 29.08.2019

Я пришел сюда с аналогичной проблемой (yarn start работал нормально, но react-scripts build выдал ошибку синтаксического анализа в строке 1). Сообщение об ошибке не дало мне полезной информации и не указывало на местонахождение фактической ошибки. Ответ @Joseph Ghaida об ошибке calc указал мне правильное направление. В моем случае я не соблюдал правила css относительно пробелов вокруг отрицательных чисел:
calc(var(--square-diameter)*-3) вызывает ошибку синтаксического анализа
calc(var(--square-diameter)* -3) в порядке
calc(var(--square-diameter)*(-3)) в порядке

person skedwards88    schedule 17.09.2020
comment
Это ИМЕННО моя проблема, пытаясь выполнить сборку реакции через файл Docker. У меня было отрицательное число сразу после деления ...)/-2, которое нужно было разделить ...)/ -2. - person ScottS; 15.01.2021

Если у вас нет возможности использовать серверные функции, просто используйте netlify.

Там гораздо проще развернуть простое интерфейсное приложение.

проверьте Netlify

person Esso    schedule 28.08.2019