DEV Community

Craig Morten
Craig Morten

Posted on • Edited on

38 9

ExpressJS for Deno

Excited to say that I've been working on a fast, minimalist web framework for Deno ported from ExpressJS called Opine!

import opine from "https://deno.land/x/opine@0.21.2/mod.ts";

const app = opine();

app.use((req, res) => {
  res.send("Hello World");
});

app.listen(3000);
Enter fullscreen mode Exit fullscreen mode

There are quite a few web frameworks out there already for Deno, such as Oak which is based on koa, but none that attempt to mirror the internals and API of ExpressJS that we know and love.

Opine attempts to solve this by completely porting ExpressJS over to TypeScript in Deno, making changes only where the Deno APIs dramatically differ from Node.

Installation

Opine is a Deno module available to import direct from this repo and via the Deno Registry.

Before importing, download and install Deno.

You can then import Opine straight into your project:

import opine from "https://deno.land/x/opine@0.21.2/mod.ts";
Enter fullscreen mode Exit fullscreen mode

Features

  • Robust routing
  • Focus on high performance
  • HTTP helpers

And more to come as we achieve feature parity with ExpressJS.

Philosophy

The Express philosophy is to provide small, robust tooling for HTTP servers, making it a great solution for single page applications, web sites, hybrids, or public HTTP APIs.

Opine will aim to achieve these same great goals, focusing first on developing robust tooling and features before moving onto accelerating performance and becoming super lightweight.

Examples

Opine comes with a few useful examples to get you started. To view the examples, clone the Opine repo:

git clone git://github.com/asos-craigmorten/opine.git --depth 1
cd opine
Enter fullscreen mode Exit fullscreen mode

Then just run whichever example you want:

deno --allow-net --allow-read ./example/hello-world/index.ts
Enter fullscreen mode Exit fullscreen mode

More!

Want to know more? Head over to the Opine GitHub page for full details, or check out one of the available doc resources:

Just a quick read today - stay tuned for further updates and some more posts on how you can use Opine and guides on how to convert your existing ExpressJS apps from Node to Opine apps on Deno!

Want to help, found a bug, or have a suggestion? Please reach out by commenting below or raising issues / PR on the repo!

See also: Opine Tutorial Part 1: Express For Deno

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (2)

Collapse
 
goran7777 profile image
Goran

Thanks a lot for spent yours time to help our young community (Y).

Collapse
 
thassadar1387 profile image
Thassadar1387

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay