|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #Browsersync - Browserify, Babelify + Watchify + Sourcemaps Example
-
- ## Installation/Usage:
-
- To try this example, follow these 4 simple steps.
-
- **Step 1**: Clone this entire repo
- ```bash
- $ git clone https://github.com/Browsersync/recipes.git bs-recipes
- ```
-
- **Step 2**: Move into the directory containing this example
- ```bash
- $ cd bs-recipes/recipes/gulp.browserify
- ```
-
- **Step 3**: Install dependencies
- ```bash
- $ npm install
- ```
-
- **Step 4**: Run the example
- ```bash
- $ npm start
- ```
-
- ### Additional Info:
-
-
-
- This one is a beast. Write your React JSX code, in ES6, compiled by Browserify and auto-reload all devices
- when the compilation is complete.
-
- ### Preview of `gulpfile.js`:
- ```js
- var gulp = require('gulp');
- var gutil = require('gulp-util');
- var source = require('vinyl-source-stream');
- var babelify = require('babelify');
- var watchify = require('watchify');
- var exorcist = require('exorcist');
- var browserify = require('browserify');
- var browserSync = require('browser-sync').create();
-
- // Watchify args contains necessary cache options to achieve fast incremental bundles.
- // See watchify readme for details. Adding debug true for source-map generation.
- watchify.args.debug = true;
- // Input file.
- var bundler = watchify(browserify('./app/js/app.js', watchify.args));
-
- // Babel transform
- bundler.transform(babelify.configure({
- sourceMapRelative: 'app/js'
- }));
-
- // On updates recompile
- bundler.on('update', bundle);
-
- function bundle() {
-
- gutil.log('Compiling JS...');
-
- return bundler.bundle()
- .on('error', function (err) {
- gutil.log(err.message);
- browserSync.notify("Browserify Error!");
- this.emit("end");
- })
- .pipe(exorcist('app/js/dist/bundle.js.map'))
- .pipe(source('bundle.js'))
- .pipe(gulp.dest('./app/js/dist'))
- .pipe(browserSync.stream({once: true}));
- }
-
- /**
- * Gulp task alias
- */
- gulp.task('bundle', function () {
- return bundle();
- });
-
- /**
- * First bundle, then serve from the ./app directory
- */
- gulp.task('default', ['bundle'], function () {
- browserSync.init({
- server: "./app"
- });
- });
- ```
-
|