Mon projet fonctionne bien avec la commande run dev mais quand j'essaye de npm start J'ai une erreur 404 page non trouvée pour les autres pages ( pages /...) sauf Index.js.
J'ai essayé plusieurs méthodes que j'ai trouvées à partir de formulaires (problèmes gthub et blogs), mais rien n'a fonctionné.
Une idée? En fait, pourquoi il devrait y avoir une différence entre run dev et start? Je pense que nous devrions voir ce qui ne va pas dans notre application pendant le processus de développement
les scripts de package.json
"scripts": {
"dev": "next",
"start": "next start",
"build": "next build"
},
et next.config.js
const withCSS = require("@zeit/next-css");
module.exports = withCSS({
cssModules: true,
cssLoaderOptions: {
importLoaders: 1,
localIdentName: "[local]___[hash:base64:5]"
}});
Comme vous le voyez, je n'ai rien changé après l'installation de nextJS.
J'ai découvert que si les noms de fichiers ont des lettres majuscules sous Windows, vous obtenez une erreur 404.
J'ai changé tous les noms de fichiers en caractères minuscules et les erreurs 404 ont disparu.
Tout d'abord, vous devez comprendre quel type d'application souhaitez-vous créer. Est-ce sans serveur? ou en quelque sorte avec le serveur et quel serveur Web voulez-vous utiliser (il y a tellement d'options).
Pour une application sans serveur:
Tout ce que vous avez à faire pour la version de production est next export
, cette fonction générera des fichiers statiques à servir comme site Web. Lire la suite ici ...
Pour l'application avec serveur:
Si vous souhaitez exécuter npm run start
, Tu as besoin de faire npm run build
première.
npm run build
compile et optimise votre build pour le mode production.
npm run start
exécutez votre serveur Web pour servir vos fichiers html.
Si vous avez effectué ces deux étapes, cela signifie que quelque chose ne va pas avec les fichiers de votre serveur, l'API de votre serveur Web n'a pas écouté la demande, donc elle ne vous redirige pas vers la bonne page.
Avant de démarrer votre application, vous devez créer à l'aide de la commande npm run build, puis démarrer votre application.