Whenever we change our templates we still have to use our build script and this can get annoying. Thankfully with webpack-dev-server
and BrowserSync we can fix this:
npm i -D browser-sync browser-sync-webpack-plugin webpack-dev-server
BrowserSync will act like a proxy, waiting for webpack to do its thing and then reloading the browser for us.
We’ll need to include it in our webpack.config.js
:
var BrowserSyncPlugin = require('browser-sync-webpack-plugin')
And then add it to our plugins at the bottom of the same file:
plugins: [
new ExtractTextPlugin("styles.css"),
new StaticSiteGeneratorPlugin('main', data.routes, data),
new BrowserSyncPlugin({
host: 'localhost',
port: 3000,
proxy: 'http://localhost:8080/'
})
]
Now we can update our package.json
script:
"scripts": {
"dev": "webpack-dev-server --progress --colors",
"start": "webpack && npm run dev"
},
So when we run our npm start
command BrowserSync will open up our browser and refresh itself whenever we change a component.
hello there, thanks for share, I am new of webpack
I try make webpack watch and browersync work together
my solucation now is just using "NODE_ENV=development webpack --hide-modules --watch" and then use gulp run browserSync, it's like wepack only work for compile and gulp watch the result folder then do hot reload, yeah so I need to open two terminal tab,so I am tried make one command do two task together like your post ! but still not work .. I am no idea, can you give a help ? and sorry about my language my english is not will...