Lorsque je modifie un fichier, mon application Next.js ne reconnaît pas les modifications et ne s'actualise pas
P粉245003607
P粉245003607 2024-02-25 15:46:37
0
2
362

J'ai commencé mon projet et jusqu'ici tout va bien.

npm run start                                        

> mk-market@0.1.0 start
> next start

ready - started server on 0.0.0.0:3000, url: http://localhost:3000
info  - Loaded env from /Users/...../market/.env.local
warn  - You have enabled experimental feature (appDir) in next.config.js.
warn  - Experimental features are not covered by semver, and may cause unexpected or broken application behavior. Use at your own risk.

info  - Thank you for testing `appDir` please leave your feedback at https://nextjs.link/app-feedback

Mais après cela, il n'y a plus de sortie de console, plus de requêtes effectuées et aucune modification enregistrée dans mon fichier, il sort côté serveur console.logs().

Cette page s'exécute dans mon navigateur (situé à localhost:3000)。但是当我保存更改时(假设添加 <h1>Hello</h1>),我没有自动重新编译。并且 npm run start 也不进行任何更改。获取新保存的更改的唯一方法是运行 npm run build ,然后运行 ​​npm run start

Cela m'est déjà arrivé dans le passé et la seule façon de le faire fonctionner à nouveau était de démarrer un tout nouveau projet. Mais maintenant, je suis allé un peu trop loin.

J'ai cherché sur Google comme un fou, mais la seule chose que j'ai pu trouver qui était étroitement liée était les lettres majuscules dans le nom des pages du dossier de candidature, mais ce n'est pas le cas ici.

De plus, lorsque je viens d'utiliser npm create-next-app 创建了一个全新的项目,但同样的事情正在发生。运行 npm run start, j'ai obtenu :

Error: Could not find a production build in the '/Users/erikingman/MK/mk-test/.next' directory. Try building your app with 'next build' before starting the production server. https://nextjs.org/docs/messages/production-start-no-build-id
    at NextNodeServer.getBuildId (/Users/erikingman/MK/mk-test/node_modules/next/dist/server/next-server.js:352:23)
    at new Server (/Users/erikingman/MK/mk-test/node_modules/next/dist/server/base-server.js:146:29)
    at new NextNodeServer (/Users/erikingman/MK/mk-test/node_modules/next/dist/server/next-server.js:166:9)
    at NextServer.createServer (/Users/erikingman/MK/mk-test/node_modules/next/dist/server/next.js:167:24)
    at async /Users/erikingman/MK/mk-test/node_modules/next/dist/server/next.js:187:31
    at async NextServer.prepare (/Users/erikingman/MK/mk-test/node_modules/next/dist/server/next.js:149:24)
    at async Server.<anonymous> (/Users/erikingman/MK/mk-test/node_modules/next/dist/server/lib/render-server.js:109:17) {
    type: 'Error'
}

J'ai dû courir npm run build pour le faire fonctionner, je ne me souviens pas avoir fait ça pour de nouveaux projets dans le passé.

P粉245003607
P粉245003607

répondre à tous(2)
P粉420958692

C'est une solution simple qui a fonctionné pour moi.

Vérifiez la version de Node JS dans l'invite de commande, tapez node -p "process.arch" Si vous utilisez 32 bits, vous devez passer à 64 bits, installer le nouveau Node JS, puis redémarrer votre PC, et vous devriez être prêt à partir.

P粉242535777

Vous n'utilisez pas les bonnes commandes du mode développement. Cela fonctionne après npm run dev 而不是 npm run start。启动是为了部署,在 npm 运行 build.

Voici ce que vous devriez voir dans la section package.jsonscripts :

"scripts": {
  "dev": "next dev",
  "build": "next build",
  "start": "next start",
  "lint": "next lint"
},
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal