/riot-isomorphic

A riotjs isomorphic application

Primary LanguageJavaScript

Isomorphic Riot

An attempt for an isomorphic appliction using RiotJS 2. Includes:

  • ES6 code base using Babel transpiler and Browserify. With ES7 async/await (SystemJS example available in the 'systemjs' branch)
  • Shared routing code between client and server using Page.js and Page.JS-Express-Mapper.
  • Riot rendering on the server side using riot.render() and a custom template engine.
  • Server services powered by Feathers.js with Realtime WebSocket communication using Primus.
  • User authentication using Passport.js
  • NEW: Flux architecture with custom dispatcher/store classes, that can be instatinated per server request. Inspired by RiotControl and dispatchr
  • waitBeforeRendering - waits for events to occur before rendering the main tag
  • ES6 riot tag files without using the *.tag extension.
  • Support for Autoprefixer - Gulp tasks extract css from javascript tags, concatinate them and run postprocessing.
  • Gulp based tasks for running the node app using [gulp-live-server].
Note: The demo services have an intentional 1sec delay before responding, to illustrate the waitBeforeRendering feature.

Install

npm install -g gulp
npm install

Run:

gulp

Then browse to http://localhost:3000