Проблема с источником CROS на локальном узле SPA - приложение React

Я новичок в реагировании.. У меня есть приложение для реагирования, которое я перешел на Single-SPA. Чтобы интегрировать мое приложение с основным приложением (платформа, на которой есть много приложений с одним спа-центром Vue), я реструктурировал его как

MainApp - включает в себя все страницы, относящиеся к процессу - работает под localhost: 3000

root-html-file - он включает в себя один файл index.html и package.json index.html (работает под localhost:5000- генерируется SPA)

код: root-html-файл -> index.html

<script type="systemjs-importmap">
      {
        "imports": {
    "myapp": "http://localhost:3000/",
    "single-spa": "https://cdnjs.cloudflare.com/ajax/libs/single-spa/4.3.7/system/single-spa.min.js",
    "react": "https://cdnjs.cloudflare.com/ajax/libs/react/16.8.6/umd/react.development.js"
     }}</script>

Promise.all([System.import('single-spa'),System.import('react')]).then(function (modules) {
          var singleSpa = modules[0];
            singleSpa.registerApplication(
                'myapp',
                () => System.import('myapp'),
                location => true
            );
          singleSpa.start();

Приложение my app нормально работает как автономное приложение. Только при запуске приложения root-html-file (npm run serve), которое загружает приложение my app в него, возникает проблема с источником CROS. Найдите снимок экрана, введите описание изображения здесь

Пожалуйста, наставьте меня, если я ошибаюсь.

1 ответ

Вам нужно добавить заголовки Access Control Allow Origin в приложение React. В webpack это можно сделать, добавив в файл webpack.config.js следующее:

devServer: {
  headers: {
    "Access-Control-Allow-Origin": "*",
    "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
    "Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
  }
}
Другие вопросы по тегам