当我编辑文件时,我的 Next.js 应用程序不确认更改且不刷新
P粉245003607
P粉245003607 2024-02-25 15:46:37
0
2
351

我开始了我的项目,到目前为止一切顺利。

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粉245003607
P粉245003607

全部回复(2)
P粉420958692

这是一个对我有用的简单解决方案。

在命令提示符下检查 Node JS 的版本,输入 node -p "process.arch" 如果您使用的是 32 位,则需要升级到 64 位,安装新的 Node JS,然后重新启动 PC ,然后就可以了。

P粉242535777

您没有使用正确的开发模式命令。这是 npm run dev 而不是 npm run start。启动是为了部署,在 npm 运行 build 后起作用。

这就是您应该在 package.jsonscripts 部分中看到的内容:

"scripts": {
  "dev": "next dev",
  "build": "next build",
  "start": "next start",
  "lint": "next lint"
},
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板