ASP.js for Visual Studio Code
The ASP experience. The power of Node.js.
Server-side JavaScript in your pages. Seamless debugging across server and browser.
ASP.js brings the Classic Active Server Pages experience to Node.js and JavaScript—with the developer tools to take it further. Write HTML and server-side JavaScript together in .asp pages. Work with familiar request, response, session, and application objects. Set breakpoints in both execution tiers and follow the application through one VS Code debug session.
The same workspace controls the application from host to database to browser. Configure a multi-site Node.js server in IIS Manager. Query and edit SQLite data, design relationships, and generate ORM classes. Reflect live application models into design-time tools through IDE Bridge. Then debug the server logic and browser JavaScript together, against the original ASP source.
Install ASP.js ·
Run your first page ·
Explore the tools
One product, one connected stack
The VS Code extension is the development environment; the runtime framework executes your application. These layers explain how the hosting, request, data, and UI pieces fit together.
Open the SVG diagram
🔵 Hosting · 🔴 Security · 🟢 ASP runtime and utilities · 🟣 Data and models · 🟠 Application UI
| Layer |
Responsibility |
| 🔵 IISX |
Orchestrate the multi-site host: public listeners, TLS/SNI, host dispatch, reverse proxies, lifecycle, and graceful shutdown. |
| 🔵 SITEX |
Describe each site and proxy as a policy container: roots, aliases, certificates, sessions, CORS, CSP, paths, MIME types, and limits. |
| 🔵 HTTPX |
Execute the request pipeline, serve static and streamed content, dispatch ASP pages, apply HTTP policy, and connect requests to the runtime. |
| 🔴 BANX |
Track violations, enforce configurable ban strategies, persist blocks, and maintain network whitelists across hosted sites. |
| 🔴 RATEX |
Apply per-client request windows and flood controls before abusive traffic can consume application resources. |
| 🟢 ASPX |
Execute ASP pages on Node.js with Request, Response, Session, Application, Server, uploads, mail, timers, and debug contexts. |
| 🟢 ERRX |
Carry structured, context-aware exceptions through the runtime, logs, diagnostics, and debugger instead of losing the original failure site. |
| 🟢 UTILX |
Supply shared validation, sanitization, naming, captioning, substitution, serialization, and other cross-cutting application primitives. |
| 🟣 SQLX |
Provide the native dataset-oriented data plane: metadata, queries, cursors, lookups, details, pivots, auditing, change tracking, and serialization. |
| 🟣 ORMX |
Turn SQLX datasets into registered business models with generated fields, relations, validation, filters, persistence, and AI descriptors. |
| 🟣 TLX |
Provide cached, database-backed translation and localization for captions, objects, metadata, and SQLX datasets. |
| 🟠 BINDX |
Resolve declarative HTML binding directives against ORMX models for server-rendered pages, repeaters, options, conditions, and nested data. |
Use the layers your application needs: begin with an ASP.js site and debugger, add SQLX and generated models for data-driven work, or develop a Backstage application generated by SQLite Express.
The page is your starting point
The appeal of Active Server Pages is direct: put server logic where it produces the page. ASP.js keeps that programming model and executes the server tier on Node.js.
<%
const message = 'Hello from Node.js';
console.log(message); // Set a server breakpoint here.
%>
<h1><%= ASP.Server.HTMLEncode(message) %></h1>
<button id="hello">Say hello</button>
<script>
document.getElementById('hello').addEventListener('click', () => {
console.log('Hello from the browser'); // Set a client breakpoint here.
});
</script>
One source file contains the server work that renders the page and the browser behavior that makes it interactive. Use ASP.Request, ASP.Response, ASP.Session, ASP.Application, and ASP.Server for the ASP programming model, and JavaScript for your application logic.
Explore ASP language support
Debug the application across both tiers
One VS Code debug session coordinates Node.js and Chrome. Pause in server-side JavaScript, inspect the data used to render the response, then continue into the browser and pause in its event handlers. ASP.js maps execution back to your ASP source, including server code brought in through .inc files.
- Keep breakpoints in your source. Debug ASP blocks and browser JavaScript without navigating generated server code.
- Inspect what matters. Step, pause, continue, and inspect variables, scopes, and call stacks in either tier.
- Follow included code. Source mapping covers recursively included server files.
- Control the session together. The adapter coordinates the Node.js and Chrome lifecycles and exception handling.
See the debugging workflow
Everything in one extension
A visual server console, a native database workbench, and live model reflection are built into ASP.js. These tools work with the same sites, databases, and ORM models that your application executes.
| What you want to do |
What ASP.js provides |
| Write mixed ASP documents with confidence |
Tier-aware completion and diagnostics, formatting, hover, Outline, and include-aware Go to Definition for server and browser code. |
| Start with a runnable project |
Generate an ASP.js site with its runtime package, sample pages, launch profiles, and local HTTPS configuration. |
| Work with live data |
An integrated SQLite Express workbench: browse objects, write SQL in Monaco, inspect grid/form results, filter and edit records, and export datasets. |
| Understand and change a schema |
A visual schema editor with table relationships, object properties, persisted diagram layouts, migration SQL generation, and image export. |
| Build application models |
Generate ORM model classes from SQLite tables or views, with field, lookup, master-detail, and Backstage integration choices. |
| Configure the host visually |
Manage sites, domains, aliases, reverse proxies, TLS, sessions, HTTP policy, timeouts, and connection limits through the Site Manager. |
| Administer a running host securely |
Create a project-local administrative site protected by mutual TLS, with credential management, certificate rotation, repair, and uninstall workflows backed by rollback copies. |
| Connect live models to design tools |
IDE Bridge exposes ORM model and field metadata from the active debug runtime to companion authoring tools, including the Mobirise ASP.js Extension. |
| Test on a phone or tablet |
Developer DNS maps exact or wildcard development hostnames to your workstation, preserving the hostname used by your application's site routing. |
| Set up local HTTPS |
Generate development certificates and use the certificate-trust workflow for your local sites. |
| Keep code readable |
Alignment tools for assignments, object literals, comments, arrows, delimiters, JSON keys, and multi-column formatting. |
IIS Manager: control the Node.js host
Configure the server that actually runs your application. IIS Manager edits the ASP.js host's project-local configuration through searchable server and site property editors, with inherited defaults and a JSON view.
- Hosting and services: manage domains, aliases, reverse proxies, servlets, listener ports, TLS/SNI certificates, and process lifecycle settings.
- Request and security policy: configure sessions, CSRF, CORS, CSP, upload limits, caching, BANX enforcement, and RATEX request limits at their server or site scope.
- Database authority: inspect trusted database registrations and site bindings alongside the runtime settings that use them. Review and save debug or production configuration from the manager.
Read the IIS Manager guide and property reference
Make your running application discoverable at design time. IDE Bridge exposes ORM model and field metadata through a local HTTP endpoint at http://127.0.0.1:7070. With an ASP debug session active, companion tools can inspect registered models and reflected sample values, select a model scope, and bind page elements to application fields.
The Mobirise ASP.js Extension uses this bridge in its Data Binding Editor to author text, attribute, condition, and repeating-fragment bindings. BINDX evaluates those bindings against the application models when the server renders the page. Keep the debug session and bridge running while authoring; the Mobirise companion is a separate add-on.
Connect IDE Bridge and follow the model-binding walkthrough
SQLite Express: query, edit, and design your database
Work on the database beside the code that consumes it. Open a local .db file in the embedded SQLite Express workbench, browse tables and views, write SQL in Monaco, and inspect results in grid or form views. Filter records, edit data, inspect related results, and export datasets through the native SQLX data layer.
The visual Schema Editor puts tables, columns, indexes, and relationships on a diagram with property editors. Persist layouts, generate migration SQL for review, and export diagrams. Use that schema as the starting point for ASP.js ORM model generation, connecting database structure to application code.
Use the SQLite query and schema editors · Explore the Schema Editor · Generate ORM models
Build on the runtime
SQLX and ORMX carry database structure into your application. SQLX datasets retain metadata, cursors, lookups, master-detail shapes, pivots, auditing, and change tracking. ORMX adds registered business models, relations, validation, filtering, and persistence. The ORM Model Class wizard generates editable model code from your database, with previews and integration choices.
BINDX brings those models into the page. Bind server-rendered HTML to fields and collections, then add browser JavaScript for interaction. Backstage builds on this foundation with grids, forms, charts, calendars, reports, roles, audits, and application commands.
Complete Backstage applications are generated by the Backstage Wizard in SQLite Express. Open the generated project in VS Code and use ASP.js to develop, host, and debug it. ASP.js includes the ORM Model Class wizard and Backstage framework support; the full Backstage Wizard and standalone SQLite Express plugin catalog belong to the separate SQLite Express product.
Read the SQLX Dataset reference · Explore the framework and Backstage guide
Develop across devices
Developer DNS resolves selected development domains to your workstation and forwards unrelated lookups upstream. Test the same host-based routing from a desktop, phone, or tablet on your LAN. Configure the device to use the development DNS server and trust the development CA for HTTPS testing.
Set up Developer DNS and device testing
Start building
- Install ASP.js by mobileFX, Node.js 24.21.0 (x64), and Google Chrome on your Windows x64 development machine.
- Open an empty project folder in VS Code.
- Run ASP.js: New ASP.js Project... from the Command Palette and enter your development hostname.
- Open the generated site's
default.asp and set breakpoints in server and browser JavaScript.
- Choose Debug ASP in Run and Debug, then press
F5.
The starter supplies the runtime, sample site, local HTTPS configuration, and VS Code launch profiles. Review the generated files and any certificate-trust prompts as part of setting up your development environment.
Follow the first-session guide
Requirements and compatibility
- VS Code: 1.143.0 or later on Windows x64. The packaged host has been validated with VS Code 1.143.1 / Electron 43.
- Node.js: 24.21.0 (x64) for the ASPX runtime and generated projects. The bundled native SQLX runtime targets this exact Node.js version.
- Browser debugging: Google Chrome or a compatible Chromium browser.
- SQLite tooling: included in the extension, with native SQLX modules for VS Code on Windows x64. No separate SQLite or Electron installation is required.
ASP.js targets JavaScript-based ASP development. Existing applications written in VBScript or dependent on arbitrary COM components require a compatibility assessment and adaptation.
Documentation
- Getting started — installation, project creation, and your first server/browser debug session.
- Framework and Backstage Developer Guide — hosting, ASPX, SQLX, ORMX, security, and Backstage.
- SQLX Dataset and DataField reference — dataset APIs, metadata, relations, serialization, and change tracking.
- ASP language guide — mixed documents, includes, completion, and navigation.
- IIS Manager — host configuration, server/site policy, and administrative-site reference.
- IDE Bridge — live ORM reflection and companion design-tool integration.
- SQLite Express — native query, record, and schema workflows inside VS Code.
- ORM model generation — model and Backstage integration workflows.
- Pane and command reference — the extension's tools and commands.
License and publisher
Free for commercial and non-commercial use. ASP.js, ASPX, and SQLX remain proprietary; source code rights are available under a separate license. See the mobileFX Free Use License.
Published by mobileFX Studio Ltd.
aspjs.mobilefx.com · mobilefx.com · info@mobilefx.com
| |