我開始了我的項目,到目前為止一切順利。
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
但是在此之後不再有控制台輸出,不在發出請求並且不在我的文件中保存更改時,它會輸出伺服器端 console.logs()
。
該頁面在我的瀏覽器中運行(位於 localhost:3000
)。但是當我保存更改時(假設添加 <h1>Hello</h1>
),我沒有自動重新編譯。並且 npm run start
也不進行任何更改。取得新儲存的變更的唯一方法是執行 npm run build
,然後執行 npm run start
我瘋狂地用谷歌搜索,但我能找到的唯一密切相關的是應用程式資料夾中頁面命名中的大寫字母,但這裡的情況並非如此。
另外,我剛剛使用
npm create-next-app 創建了一個全新的項目,但同樣的事情正在發生。運行
npm run start 時我得到:
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' }我必須運行
npm run build 才能運行它,我不記得過去為新專案這樣做過。
P粉4209586922024-02-26 13:49:34
這是一個對我有用的簡單解決方案。
在命令提示字元下檢查Node JS 的版本,輸入node -p "process.arch"
如果您使用的是32 位,則需要升級到64 位,安裝新的Node JS,然後重新啟動PC ,然後就可以了。
P粉2425357772024-02-26 11:50:19
您沒有使用正確的開發模式命令。這是 npm run dev
而不是 npm run start
。啟動是為了部署,在 npm 運行 build
後起作用。
這就是您應該在 package.json
的 scripts
部分中看到的內容:
"scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "next lint" },