Skip to content

Starter Pux app w/ hot-reloading and isomorphic routing and rendering

License

Notifications You must be signed in to change notification settings

alexmingoia/pux-starter-app

Repository files navigation

pux-starter-app

The starter app is a skeleton Pux project configured with webpack and supporting hot-reload for rapid development.

For isomorphic rendering and routing a more complex configuration is available in the isomorphic branch.

Installation

Clone the repository and run npm install to get started:

git clone git://github.com/alexmingoia/pux-starter-app.git my-awesome-pux-app
cd my-awesome-pux-app
npm install
npm start

After compiling the app should be available at http://localhost:8080.

Directory structure

  • src: Application source code.
    • src/App/Config.js: Configuration values.
    • src/App/Config.purs: Configuration type.
    • src/App/Events.purs: Application event type and foldp function.
    • src/App/Routes.purs: Routes.
    • src/App/State.purs: Application state type and init function.
    • src/App/View/Homepage.purs: Home page.
    • src/App/View/Layout.purs: App layout.
    • src/App/View/NotFound.purs: 404 page.
    • src/Main.purs: PureScript entry point.
  • static: Static files served with application.
  • support: Support files for building.
    • support/entry.js: Webpack entry point. Handles hot reloading.
  • bower.json: Bower package configuration.
  • package.json: Node package configuration.
  • webpack.config.js: Webpack configuration.

NPM scripts

watch

npm start or npm run watch will start a development server, which hot-reloads your application when sources changes.

serve

NODE_ENV=production npm run serve builds your application and starts a production server.

build

npm run build builds application client and server bundles.