Files
elm-0.19-workshop/README.md
2018-04-29 20:36:23 -04:00

3.9 KiB
Raw Blame History

This workshop is licensed under a Creative Commons Attribution 4.0 International License. The server/ directory uses moleculer-node-realworld-example, which has its own license. The rest of the code is a variation on elm-spa-example, an MIT-licensed implementation of the realworld front-end. Many thanks to the authors of these projects!

Getting Started

Install Elm Tools

  1. Install Node.js 7.0.0 or higher

  2. Add a plugin for your editor of choice: Atom, Sublime Text, VS Code, Light Table, Vim, Emacs, Brackets

  3. Not required, but highly recommended: enable "elm-format on save" in your editor.

  4. Run the following command to install all the other Elm tools:

Note: Make sure not to run this command with sudo! If it gives you an EACCESS error, apply this fix and then re-run the command (still without sudo).

npm install -g elm elm-test elm-live@2.7.5 elm-format@exp

You can confirm this worked by running:

elm --version

It should print 0.18.0 if everything worked!

Clone this repository

Run this at the terminal:

git clone https://github.com/rtfeldman/elm-0.18-workshop.git
cd elm-workshop

Note: Tab characters are syntax errors in Elm code, so if your editor uses them for indentation, definitely switch it to spaces for this workshop!

Start the server

We'll be running a local server for our Elm UI to use. Let's get it set up.

cd server
npm install
npm run dev

If the server started up successfully, you should see mol $ at the end of your terminal.

We're going to leave this server running and not touch it again for the duration of the workshop, so don't close it until the workshop is over!

Build the Elm UI

Leave the existing terminal running, and open a second terminal.

In the new termnal, cd into the elm-workshop directory again.

Then run this to build the Elm code for the first time:

elm live Main.elm --output=server/public/elm.js --pushstate --open

A browser should open, and you should see this in it:

A screenshot showing “You’re all set!”

If things arent working, the instructor will be happy to help!