Приложение Serve React от Express Server Err - не поддерживается тип MIME таблицы стилей - PullRequest
0 голосов
/ 19 июня 2019

Таким образом, я следовал документации из creat-реакции-приложения-документа , и я не могу понять, как обслуживать мой реагирующий интерфейс через экспресс.В документации указано следующее:

const express = require('express');
const path = require('path');
const app = express();

app.use(express.static(path.join(__dirname, 'build')));

app.get('/', function(req, res) {
  res.sendFile(path.join(__dirname, 'build', 'index.html'));
});

app.listen(9000);

Но структура моего проекта выглядит следующим образом:

--root
      |
      backend
             |
             src
                |
                index.ts (My express config)
      |
      web
         |
         build (Production build of my react app)

Поэтому мне пришлось адаптировать конфигурацию в моем index.ts вот так:

// Present Frontend view
app.use(express.static(path.join(__dirname, '../../web')));

app.get('/', function (req, res) {
    res.sendFile(path.join(__dirname, '../../web/build', 'index.html'));
});
// Start the server
server.listen(3000, () => console.log('BYOD is listening on port 3000!'));

Но ошибка, которую я получаю, заключается в следующем: отказался применять стиль из 'http://192.168.145.135:3000/BYOD/static/css/main.74ea495e.chunk.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled..

Мой вопрос сейчас: я делаю что-то концептуальнонеправильно?Как я могу решить эту проблему?

Обновление

Итак, я выяснил, что URL-адреса в index.html (в папке сборки) имеют некоторые неправильные URL-адреса, например:

<link rel="shortcut icon" href="/BYOD/favicon.ico"/>

вместо просто:

<link rel="shortcut icon" href="/favicon.ico"/>

Эти URL автоматически вставляются CRA .Как я могу предотвратить загрузку ложных публичных URL-адресов в index.html?

1 Ответ

0 голосов
/ 19 июня 2019

Один из подходов к решению состоит в том, чтобы добавить в мой внешний каталог dir (response-project) файл .env и установить явно следующее:

PUBLIC_URL=/

Мой вопрос сейчас, есть ли лучшее решение или архитектура моего проектаполностью запутался? Мне очень любопытно за советы! Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...