A Cycle.js starter project with hot reloading using browserify and browserify-hmr.
To get set up:
git clone https://github.com/Widdershin/cycle-hot-reloading-example.git
cd cycle-hot-reloading-example
npm install
npm start
You should then be able to visit localhost:8000 and you'll see the text 'Change me!'.
You can then go into src/app.js
and change that text, and you should see the result straight away without the page reloading.
You can also change the styles in styles.css
and it will live reload.
This is made possible by AgentME/browserify-hmr, along with mattdesl's excellent budo development server. All of the hot reloading configuration is done in index.js
. The key part is that the old Cycle application is diposed every time the code changes.
To get your project online, if you don't need a backend server, you can deploy to Github pages.
Note: if you cloned this repo directly, you will first need to create a new repo. Since you're uploading an existing repo, don't add a README, license or .gitignore. Then follow the instructions to add your new repo as the remote. You will need to git remote rm origin
beforehand.
To deploy for the first time, we need to set up a gh-pages
branch:
git checkout -b gh-pages
npm run bundle
git add .
git commit -m "Add bundled app"
git push origin gh-pages
Then visit http://username.github.io/repository. Your site should be online within 5 minutes or so.
To update your site in future, just checkout back to the branch and repeat the process:
git checkout gh-pages
git merge master --no-edit
npm run bundle
git add .
git commit -m "Update bundle"
git push origin gh-pages