A simple Webpack setup for writing Elm apps:
- Dev server with live reloading, HMR
- Support for CSS/SCSS (with Autoprefixer), image assets
- Bootstrap 3.3+ (Sass version)
- Bundling and minification for deployment
- Basic app scaffold, using
Html.App
- A snippet of example code to get you started!
Clone this repo into a new project folder, e.g. my-elm-project
, and install its dependencies:
git clone https://github.com/moarwick/elm-webpack-starter my-elm-project
cd my-elm-project
npm install
Re-initialize the project folder as your own repo:
rm -rf .git
git init
git add .
git commit -m 'first commit'
If you haven't done so yet, install Elm globally:
npm install -g elm
Install Elm's dependencies:
elm package install
npm start
- Access app at
http://localhost:8080/
- Get coding! The entry point file is
src/elm/Main.elm
- Browser will refresh automatically on any file changes..
npm run build
- Files are saved into the
/dist
folder - To check it, open
dist/index.html
Ver 0.7.1
- Change favicon issues, per Issue 30
Ver 0.7.0
- Modify project structure, per Issue 26
- Include Bootstrap JS, per Issue 28
- More helpful install steps in README, per Issue 29
- Update to latest packages
Ver 0.6.2
- Use
copy-webpack-plugin
instead ofcp
to copy files (Windows compatible)
Ver 0.6.0
elm-hot-loader
is back (no Elm code changes required!)- Switch to bootstrap-sass to demo CSS
Ver 0.5.0
- Update to Elm 0.17.0 (and other latest modules)
- Upgrade starter code per upgrade-docs
- Remove
elm-hot-loader
(for now)
Ver 0.4.0
- Add elm-hot-loader for HMR support (PR by fluxxu)
Ver 0.3.0
- Use
html-webpack-plugin
to generateindex.html
- Apply hash filenames for bundled JS and CSS (prevents caching)
- Image and favicon assets copied to
dist/