---
sourceDocument: Australia Build or modify applications
sourceDocumentLink: https://www.servicenow.com/docs/r/australia/application-development

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Lux Lab development server

# Lux Lab development server {#ariaid-title1}

Release version: Australia  
Updated September 30, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute to read  
Running
your Lux application starts a local development server that serves your application and reflects code changes automatically.

## Starting the development server {#lux-lab-development-server__lux-lab-development-server-starting-the-development-server}

## From the title bar {#lux-lab-development-server__lux-lab-development-server-from-the-title-bar}

You can start the development server from the title bar at the top of the app,
using
the following buttons:

* Run starts the development server.
* Preview starts the development server and opens the Preview panel at the same time.

As the server starts, the button updates to reflect its current state. The button labels for each state are listed in the following table.
{#lux-lab-development-server__table-lux-lab-development-server-run-button-states__entry__2}

| State | Button label |
|-|-|
| Server stopped | Run |
| Server starting | Transitioning (indicator shown) |
| Server running | Stop |
[Table 1. Run button states]

{#lux-lab-development-server__table-lux-lab-development-server-run-button-states}

You can select Stop at any time to
stop
the development server.

## From the terminal {#lux-lab-development-server__lux-lab-development-server-from-the-terminal}

You can also start the development server manually from the integrated terminal.

    pnpm dev

## Monitoring the development server {#lux-lab-development-server__lux-lab-development-server-monitoring-the-development-server}

While the development server is running, all of its logs stream into the Console tab of the bottom panel. These logs include startup messages, HMR updates, errors, and console output from your application.

The Console tab shows the following activity:

* Development server startup progress
* Hot Module Replacement (HMR) activity when files are saved
* Runtime logs and errors from your running application

## Hot Module Replacement {#lux-lab-development-server__lux-lab-development-server-hot-module-replacement}

While the development server is running, saving any source file triggers HMR. Lux Lab recompiles only the changed module and pushes the update to the preview without a full page reload, preserving component state where possible.

Changes to configuration files, such as `aiux.json`, take effect only after you restart the development server.

## Stopping the development server {#lux-lab-development-server__lux-lab-development-server-stopping-the-development-server}

To stop the development server, select Stop in the title bar, which is shown while the server is running. You can also press `Ctrl+C` in the terminal session that is running the development server.

## Build errors {#lux-lab-development-server__lux-lab-development-server-build-errors}

Errors that keep the development server from starting or from serving a module appear in the following tabs:

* Console tab: runtime errors from the running application
* Problems tab: linter and type errors in your source files
* Build tab: build pipeline failures

Selecting an error in the Problems tab opens the offending line in the editor.

## Production build {#lux-lab-development-server__lux-lab-development-server-production-build}

To build a production bundle before deploying, run the build command.

    pnpm build

The build writes its output to the `dist/` directory. Build logs stream into the Build tab of the bottom panel.

