Platforms

Node.js

Run the Node.js example in development, then build and start its production server.

Run the example

Install the current Node.js LTS and Vite+. Create a Node.js project and install its dependencies:

vp create effront -- my-app --platform node
cd my-app
vp install
vp dev

Open the local URL printed by Vite. The single page displays Hello, world.

Find the application and server files

The example already contains the host configuration:

FileRole
src/entry.effront.tsxDefines the document layout, one page, and its / route.
src/entry.rsc.tsExports the application's HTTP handler for development and production.
src/entry.server.tsStarts the Node.js listener with @effront/server/node and NodeRuntime.runMain.
vite.config.tsRegisters effront() and effrontServer().
package.jsonLists dependencies and the start command.

Change <h1>Hello, world</h1> in src/entry.effront.tsx to <h1>Hello, Effront!</h1> and save. The page updates without restarting the server.

Check the production build locally

Stop development, then run from the generated project:

vp build

The build puts the server entry in dist/rsc/server.js and generated browser assets in dist/client/assets. src/entry.server.ts serves those assets at /assets/.

Start the Node.js server

After the build, run from examples/node:

vp run start

The script runs node dist/rsc/server.js. With PORT and HOST unset, open http://127.0.0.1:3000. To change the listening address, set PORT and HOST before starting the server.

For listener and asset options, see the server API reference. See the separate Bun example for that runtime.