Browsersync recipes.
There are endless amounts of possible integrations and workflow scenarios when using Browsersync, so this project is an attempt to highlight as many of them as we can, whilst providing full, working examples.
Here's what we have currently...
- Grunt, SASS, HTML/CSS injection example
- Grunt & SASS
- Grunt, SASS & Autoprefixer
- Browserify, Babelify + Watchify + Sourcemaps Example
- Gulp, SASS + Pug Templates
- Gulp & Ruby SASS
- Gulp & SASS
- Gulp & Swig Templates
- Gulp, SASS + Slow running tasks
- HTML/CSS injection example
- Middleware + CSS example
- Proxy example + injecting custom css file
- Server example
- Server with pre-gzipped assets example
- Server includes example
- Server + Logging + History API fallback middlewares Example
- Webpack + Babel
- Webpack + Monkey Hot Loader
- Webpack + Preact Hot Loader
- Webpack + React Hot Loader
- Webpack + React Transform HMR
- Webpack + TypeScript
- Webpack, TypeScript + React
... each one is a full, working example - just have a look at the readme.md
in each one for installation
instructions.
Contributions / Feedback
Spotted an error? Couldn't get one of the examples running? Have your own sweet setup that you want to show off to the world? We'd love to receive your feedback and contributions - so please get in touch! We aim to make this project the canonical source of example projects & code snippets related to running Browsersync.
How to contribute an example
First thing you should do, is take a look at our simplest example here - this will give you a great head-start on setting up your code.
Then, fork
this repo and clone
your fork down to your local machine. Now create a new folder inside recipes
(note the naming structure). This is where you create your awesome example. You're free to do as you like,
but there are a couple of rules you'll need to follow to ensure the project can build.
Required Files
package.json
(see below for requirements)app.js
(or any JS file showing the example)./app
directory. Always include the minimum HTML, JS & CSS needed to prove your example.
Do NOT include
readme.md
(this is created dynamically for you)- any other files that are not related to your example.
package.json requirements
start command: For consistency, ensure your example can be run with the command npm start
. To
do this, you just need to provide something along these lines:
"scripts": ,
main file: We inline your main Javascript file into the readme.md
, so
don't miss this field.
"main": "app.js" // or gulpfile.js etc
description: We use this as the Title. So make it short and descriptive, such as
"description": "Server example"
Finally, build.
After you've added your example in the recipes folder, return to the root and run
npm install && npm run build
This will install Crossbow.js and compile the project. Commit everything that has changed and push it up to your fork. Send a Pull Request when you're ready, or if you'd like us to have a look over your code before that, just ping us twitter and we'll take a look!