No indication of cause when dev deployment is broken
URL:
https://nodejs-5gs7cwzc2-openjs.vercel.app/en/learn/typescript/publishing-a-ts-project
Browser Name:
Brave
Browser Version:
1.73.105
Operating System:
macOS
How to reproduce the issue:
When a page can't be generated, the server returns a 500 with no information whatsoever for what went wrong. In a non-production environment, it should include the error that triggered the 500.
Wath did you receive on terminal ?
Nothing because I don't run it locally; there's no need to do aside from working around this issue.
it's not dev env it's vercel preview right ?
Right. So in vercel, set NODE_ENV to "preview" or something, no?
Right. So in vercel, set NODE_ENV to "preview" or something, no?
No, if you do npm run dev on local you I'll get error on your terminal.
If it's a preview of vercel, it's a preview, maybe there's a log on vercel. But I don't have access to that.
Yes, I understand how to get it when running locally, which I never need to do except when the preview deployment blows up and refuses to tell me what's wrong.
An article editor never needs to run things locally—it's just a markdown file. Article editors maybe need not even be technical, so expecting them to install a bunch of deps, get a local up and running, etc is needlessly onerous.
There's got to be a way to capture the error and return it. IIR, this is the default Next.js error page, which is augmentable. In non-prod, even a rsp.send(500, error) would be a big improvement.
An article editor never needs to run things locally—it's just a markdown file. Article editors maybe need not even be technical, so expecting them to install a bunch of deps, get a local up and running, etc is needlessly onerous.
I agree with you.
- We had a lack of documentation of which code tabs languages is supported. (that your issue I guess).
- https://github.com/nodejs/nodejs.org/blob/main/apps/site/app/global-error.tsx should handle error that strange.
@AugustinMauroy I also encountered the same problem. May I ask how I should deploy a Node.js website on Vercel?
@JakobJingleheimer May I ask if you have resolved it?
cc @ovflowd I didn't get what happened here
There are a bunch of environment variables to be setup. You can check next.constants.mjs -- Pretty much you need to provide which URL it should use to self consume its API.
TBH, this repository wasn't designed so that other people can deploy the Node.js website. It was meant only for the Node.js project.
@ovflowd Thank you very much. After I set the NEXT_PUBLIC_BASE_URL environment variable, it can be deployed normally.
@ovflowd Thank you very much. After I set the NEXT_PUBLIC_BASE_URL environment variable, it can be deployed normally.
That should be the main necessary variable, yes. Interesting that it is not defined, as Vercel defines this variable automatically if the project is built within Vercel.
Are you building it locally and just uploading to Vercel?
Hmm I gotta give a look if we are automatically consuming https://vercel.com/docs/environment-variables/framework-environment-variables#NEXT_PUBLIC_VERCEL_URL as a fallback.
Anyhow, we can revise that logic in a future + adding some extra docs.
But we did not create documentation for third parties to deploy the website.
I was building directly on Vercel by connecting to the Git repository, and it seems that this environment variable was not present. It was only after I manually set this variable that I could access it normally.
This seems to be veering off-topic @ikxin.