#reactjs #express
#reactjs #выразить
Вопрос:
Я следую руководству https://github.com/vasansr/pro-mern-stack-2 (для создания CRUD-приложения для отслеживания проблем). Поскольку я разделил приложение с одного сервера на отдельные серверы api и пользовательского интерфейса, у меня возникли проблемы с загрузкой пользовательского интерфейса в браузере. Изначально я получал «неожиданный токен < в JSON в позиции 0» в консоли инструментов разработчика (после создания отдельных серверов пользовательского интерфейса и api). Затем, не сумев исправить это, я продолжил главу, надеясь, что дополнительные изменения могут решить проблему. Теперь я выполнил все, вплоть до архитектуры на основе прокси-сервера Ch7 включительно. Пользовательский интерфейс по-прежнему не загружается в браузере, и я получаю указанную выше ошибку (404). Все остальное, похоже, работает нормально: оба сервера запущены в терминале, и игровая площадка graphql загружается нормально.
Код должен быть в порядке, поскольку я даже просмотрел его и даже скопировал и вставил из этого репозитория Git, просто чтобы быть уверенным вдвойне. Я также проверил структуру файла. Единственное отличие заключается в моем package.json, поскольку из-за проблем с зависимостью, с которыми я столкнулся, некоторые версии пакета отличаются, поэтому мне интересно, может ли это быть проблемой. Но мне это непонятно, поскольку я не получаю никаких проблем в терминале при запуске серверов.
Это мой пакет пользовательского интерфейса.json:
{
"name": "pro-mern-stack-2-ui",
"version": "1.0.0",
"description": "Pro MERN Stack (2nd Edition) - UI",
"main": "index.js",
"scripts": {
"start": "nodemon -w uiserver.js -w .env uiserver.js",
"compile": "babel src --out-dir public",
"watch": "babel src --out-dir public --watch --verbose"
},
"repository": {
"type": "git",
"url": "git https://github.com/vasansr/pro-mern-stack-2.git"
},
"author": "vasan.promern@gmail.com",
"license": "ISC",
"homepage": "https://github.com/vasansr/pro-mern-stack-2",
"dependencies": {
"dotenv": "^6.2.0",
"express": "^4.16.4",
"http-proxy-middleware": "^0.21.0",
"nodemon": "^1.18.9"
},
"devDependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.2.2",
"@babel/preset-env": "^7.2.3",
"@babel/preset-react": "^7.0.0"
}
}
Ответ №1:
Проблема здесь была в том, что я не скомпилировал свой код. Я использую babel и внес некоторые изменения, не понимая, что мне нужно перекомпилировать мой App.js файл. Когда я пробовал разные вещи, я также получил ошибку:
ПОЛУЧИТЬ http://localhost:8000/App.js net ::ERR_ABORTED 404 (не найден)
Итак, я использовал команду npm run watch в своем терминале пользовательского интерфейса (App.js файл находится в моем каталоге пользовательского интерфейса).
Похоже, проблема заключалась в том, что я не смог загрузить нескомпилированный файл в свой браузер.