.. | |||
app | 18 days ago | ||
src | 18 days ago | ||
.npmignore | 18 days ago | ||
app.js | 18 days ago | ||
desc.md | 18 days ago | ||
package.json | 18 days ago | ||
readme.md | 18 days ago | ||
webpack.config.js | 18 days ago |
#Browsersync - Webpack + Babel
To try this example, follow these 4 simple steps.
Step 1: Clone this entire repo
$ git clone https://github.com/Browsersync/recipes.git bs-recipes
Step 2: Move into the directory containing this example
$ cd bs-recipes/recipes/webpack.babel
Step 3: Install dependencies
$ npm install
Step 4: Run the example
$ npm start
Edit any files within the src
folder
app.js
:/** * Require Browsersync along with webpack and middleware for it */ var browserSync = require('browser-sync').create(); var webpack = require('webpack'); var webpackDevMiddleware = require('webpack-dev-middleware'); var stripAnsi = require('strip-ansi'); /** * Require ./webpack.config.js and make a bundler from it */ var webpackConfig = require('./webpack.config'); var bundler = webpack(webpackConfig); /** * Reload all devices when bundle is complete * or send a fullscreen error message to the browser instead */ bundler.plugin('done', function (stats) { if (stats.hasErrors() || stats.hasWarnings()) { return browserSync.sockets.emit('fullscreen:message', { title: "Webpack Error:", body: stripAnsi(stats.toString()), timeout: 100000 }); } browserSync.reload(); }); /** * Run Browsersync and use middleware for Hot Module Replacement */ browserSync.init({ server: 'app', open: false, logFileChanges: false, middleware: [ webpackDevMiddleware(bundler, { publicPath: webpackConfig.output.publicPath, stats: {colors: true} }) ], plugins: ['bs-fullscreen-message'], files: [ 'app/css/*.css', 'app/*.html' ] });