Неожиданный токен "<" при первой загрузке приложения node.js, а затем загружается правильно - PullRequest
0 голосов
/ 06 октября 2018

Я только что развернул приложение Node.js / React в Google Compute Engine.Моя виртуальная машина работает под управлением Linux Debian 9 с версией Node 10.11.0.Мое приложение React было создано с помощью create-реагировать-приложение.Я также использую response-app-rewired, чтобы добавить загрузчик для одной из моих библиотек.Проблема заключается в том, что при сборке приложения и его развертывании при первой загрузке из любого браузера появляется сообщение об ошибке: Syntax error: Unexpected token <.При дальнейшей проверке я обнаружил, что это потому, что файл main.js в статической папке (каталог / build) - это мой index.html из статического каталога.Если я обновлю страницу, ошибка исправлена.Затем, если я перехожу в другой браузер (включая еще один браузер Chrome, связанный с другим адресом электронной почты), происходит то же самое.Так что, в основном, когда кто-то пытается загрузить страницу в браузер в первый раз, это происходит через несколько дней после ее развертывания.Потом они обновляются и все работает нормально.У кого-нибудь есть идеи, что может вызвать это?Ниже приведен мой файл package.json и то, как я обслуживаю страницу в моем файле server.js.Я не знаю, какая другая информация имеет отношение, но дайте мне знать, какая другая информация может понадобиться, и я могу добавить ее.Заранее спасибо.

package.json:

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@material-ui/core": "^1.4.0",
    "@material-ui/icons": "^1.1.0",
    "@material-ui/lab": "^1.0.0-alpha.8",
    "@react-pdf/renderer": "^1.0.0-alpha.14",
    "ajv": "^6.5.2",
    "axios": "^0.18.0",
    "blob-stream": "^0.1.3",
    "classnames": "^2.2.6",
    "debug": "^3.1.0",
    "fs": "0.0.1-security",
    "fullcalendar-reactwrapper": "^1.0.7",
    "html-react-parser": "^0.4.7",
    "joi-browser": "^13.4.0",
    "jwt-decode": "^2.2.0",
    "moment": "^2.22.2",
    "pdfmake": "^0.1.37",
    "react": "^16.4.1",
    "react-app-rewired": "^1.5.2",
    "react-big-calendar": "^0.19.2",
    "react-calendar": "^2.16.1",
    "react-dom": "^16.4.1",
    "react-dropzone": "^4.2.13",
    "react-load-script": "0.0.6",
    "react-number-format": "^3.5.0",
    "react-pdf": "^3.0.5",
    "react-redux": "^5.0.7",
    "react-responsive": "^4.1.0",
    "react-router-dom": "^4.3.1",
    "react-scripts": "1.1.4",
    "react-signature-pad": "0.0.6",
    "react-text-mask": "^5.4.2",
    "react-transition-group": "^2.4.0",
    "redux": "^4.0.0",
    "redux-devtools-extension": "^2.13.5",
    "redux-thunk": "^2.3.0",
    "socket.io-client": "^2.1.1",
    "transform-loader": "^0.2.4",
    "twilio-video": "^1.13.0",
    "yoga-layout": "github:naminho/yoga-layout-windows"
  },
  "scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "proxy": "http://localhost:5000"
}

server.js выдержка:

  // Serve static assets if in production
  if (process.env.NODE_ENV === "production") {
    // Set static folder
    app.use(express.static("client/build"));
    app.get("*", (req, res) => {
      res.sendFile(path.resolve(__dirname, "client", "build", "index.html"));
    });
  }

ОБНОВЛЕНИЕ:

Когда браузер загружает страницу в первый раз, если я проверяю папку js, она имеет неправильное имя для основного файла js.Имя файла всегда main.#####.js, где ##### - это серия случайных букв и цифр.Последовательность неверна, когда я сравниваю ее с тем, что находится на сервере, но после перезагрузки появляется новое имя файла, соответствующее серверу, и все работает нормально.Интересно, что html-файл, который ошибочно обслуживается по неверному файлу main.#####.js, содержит ссылку на правильное имя файла main.#####.js.И опять же, я не говорю, что это происходит по первому требованию.Это происходит каждый раз, когда новый браузер пытается загрузить страницу (Firefox, Chrome, Edge и Safari были протестированы и все ведут себя одинаково).Так как же это происходит через несколько дней после развертывания?

...