web-dev-qa-db-fra.com

create-react-app affiche une erreur de "Vous devez activer JavaScript pour exécuter cette application."

J'utilise express pour mon API. J'ai un dossier nommé app et un autre dossier nommé server. app est l'application cliente, utilisant create-react-app comme passe-partout, tandis que le serveur est l'application express.js pour l'API.

dans le fichier app.js du serveur, j'ai écrit

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

Mais quand j'appelle un point de terminaison API, j'obtiens

Vous devez activer JavaScript pour exécuter cette application.

dans la réponse. Je suis confus; Qu'est-ce qui ne va pas?

16
Jenny Mok

Dans le répertoire de construction, vous avez plus de fichiers que simplement index.html. Vous avez également build/js/main.buildNumber.js et build/css/main.buildNumber.css. Ainsi, lorsque votre frontend fait une demande à https://votredomaine.com/css/main.buildNumber.js , il renvoie index.html pas main.js.

Vous servez le contenu du dossier de construction statiquement avec express.static

    app.use('/', express.static(__dirname + '/'));

Ou vous pouvez regarder dans le module de nœud "servir" pour héberger votre application. Cela fonctionnera bien avec react-router. npm i -g serve puis cd build puis serve . --single -p 5000. Cela servira votre application sur le port 5000.

1
tanner burton