Next.js Discord

Discord Forum

No node entry point after `npm run build` in Next 15

Answered
Himalayan posted this in #help-forum
Open in Discord
Avatar
HimalayanOP
why isn't npm run build showing an entry point for next 15, it should be something like node .next/server.js or node .next/server/index.js or something. But the output is just:

 my-app git:(main) npm run build

> my-app@0.1.0 build
> next build

   ▲ Next.js 15.0.2

   Creating an optimized production build ...
 ✓ Compiled successfully
 ✓ Linting and checking validity of types    
 ✓ Collecting page data    
 ✓ Generating static pages (5/5)
 ✓ Collecting build traces    
 ✓ Finalizing page optimization    

Route (app)                              Size     First Load JS
┌ ○ /                                    5.46 kB         105 kB
└ ○ /_not-found                          897 B           101 kB
+ First Load JS shared by all            99.7 kB
  ├ chunks/215-f207ea7968f9b6d8.js       45.2 kB
  ├ chunks/4bd1b696-23516f99b565b560.js  52.6 kB
  └ other shared chunks (total)          1.88 kB


○  (Static)  prerendered as static content


Where is my node
Answered by joulev
by default, it expects you to start the thing by next start.

if you want an entry point and a standalone folder that you can copy to any machine to deploy the app there, you can use standalone output: https://nextjs.org/docs/app/api-reference/next-config-js/output#automatically-copying-traced-files
View full answer

25 Replies

Avatar
by default, it expects you to start the thing by next start.

if you want an entry point and a standalone folder that you can copy to any machine to deploy the app there, you can use standalone output: https://nextjs.org/docs/app/api-reference/next-config-js/output#automatically-copying-traced-files
Answer
Avatar
HimalayanOP
the plan is to run it on my machine locally it's a utility project for my personal use
Avatar
yeah then just next start, if not, standalone output is still a feasible option, you have a server.js that you can simply node it
Avatar
HimalayanOP
I am asking for the "node" entry point. e.g. in Nuxt the node entry point is here: .output/server/index.mjs and you run it like node .output/server/index.mjs
Where is it in Next 15?
Where do I have server.js file? Can't find it anywhere in the final build.
Avatar
yeah i know and i've been telling you to use standalone output, then it will be available in the final build
are you using output: "standalone"?
Avatar
HimalayanOP
I am not familiar with this setup.
Avatar
go read the link i provided above
Avatar
HimalayanOP
is it somewhere in docs?
ok, thanks. Do you know why it isn't default option?
Avatar
well... i don't know, honestly. i'm not part of the team
Avatar
HimalayanOP
ok, now I have the server.js file in .next/standalone/server.js but the image links and css is broken 😭 I run it via: node .next/standalone/server.js
Image
Avatar
HimalayanOP
Any idea how to fix that?
Why isn't server.js picking up the images and css?
Avatar
static assets are not served by default because most of the times you would want to move them to a CDN and serve them there instead
to serve them you just need to copy .next/static to .next/standalone/.next/static
i just tested in a nextjs app i have and it works fine
Avatar
HimalayanOP
Thanks, I copied it there and now I have this:

But Images are still missing 😭
Image
Avatar
what are the image URLs?
if they are the images in public folder, you need to copy it to the standalone folder too for the same reason
Additionally, a minimal server.js file is also output which can be used instead of next start. This minimal server does not copy the public or .next/static folders by default as these should ideally be handled by a CDN instead, although these folders can be copied to the standalone/public and standalone/.next/static folders manually, after which server.js file will serve these automatically.
Avatar
HimalayanOP
Thanks! Finally it works after copying public/ folder to standalone/ 😉
Image