Need help with servelm?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

eeue56
120 Stars 10 Forks MIT License 59 Commits 1 Opened issues

Description

Server-side Elm

Services available

!
?

Need anything else?

Contributors list

# 139,991
elm
session...
login-s...
Elixir
24 commits
# 79,434
graphql...
Amazon ...
js
preload
1 commit
# 107,711
TypeScr...
GraphQL
aws-s3
esi
1 commit

Servelm - Elm Http Server

Deprecated. Server side elm is not designed to work this way.

This server, along with rtfeldman's Elm stylesheets, means that we can now have full stack Elm support. At no point in the development of an application will you have to write anything other than Elm!

It now supports server-side rendering of elm-html.

A demo can be found here. The styling is done through compile-time correct CSS provided by elm-stylesheets.

APIs exposed

The Http.Server module allows you to create servers and run them.

Sending out Elm

Use the

Http.Response.writeElm
function to compile an Elm file on request. It will compile an Elm file found with
name + ".elm""
. It will write the output to a file in the same folder as
name + ".html"
. This will then be served out to the client. There is basic caching involved at the moment, which works based on the lifecycle of the server. Restart the server if you make any changes.

This is enabled by the node-elm-compiler package.

It also supports server-side rendering of elm-html, through using the vdom-to-html package.

Get started

To start Elm inside of Node simply this to the end of your compiled Elm code.

Elm.worker(Elm.Main);

Take a look at

example/run.sh
to see a complete usage
elm make example/server/Main.elm --output=example/main.js
echo "Elm.worker(Elm.Main);" >> example/main.js
node example/main.js

Run the example

This project depends on Node.js and the

node
command.
example/run.sh

Then load up the browser to see it working!

Credit

Originally inspired by https://github.com/Fresheyeball/elm-http-server.

There was some great work already there, I just cleaned it up a little and integrated it with some other packages.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.