ES Dev Server

2.1.0 · renamed · verified Tue Apr 21

ES Dev Server (version 2.1.0, though the project itself has seen its main development move to a new name) is a development server designed for modern web applications that leverage native ES modules directly in the browser, thereby eliminating the need for a separate bundling step during development. It offers features like efficient browser caching for fast reloads, on-demand code transformation for older browser compatibility, resolution of bare module imports (`--node-resolve`), and automatic browser reloading on file changes (`--watch`). Its key differentiator lies in promoting a "no-build" development workflow. While it remains functional and receives bug fixes, new development and active feature work have moved to its successor, `@web/dev-server`. Users are generally advised to use `@web/dev-server` for new projects and consider migrating existing ones.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates setting up `es-dev-server` to serve a simple HTML file with native ES module imports, using `npm scripts` for easy execution and `--node-resolve` for bare module support.

{
  "name": "my-es-dev-app",
  "version": "1.0.0",
  "description": "A simple app served by es-dev-server",
  "scripts": {
    "start": "es-dev-server --app-index public/index.html --node-resolve --watch --open --root-dir public"
  },
  "devDependencies": {
    "es-dev-server": "^2.1.0",
    "lit": "^2.0.0" 
  }
}

<!-- public/index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ES Dev Server App</title>
</head>
<body>
    <h1>Welcome to ES Dev Server!</h1>
    <script type="module">
        // This bare module import requires --node-resolve
        import { html } from 'lit'; 
        console.log('App loaded via native ES Modules.');
        document.body.innerHTML += html`<p>Lit-html import worked!</p>`;
    </script>
</body>
</html>

# To run:
# npm install --save-dev es-dev-server lit
# npm run start

view raw JSON →