Skip to content

Instantly share code, notes, and snippets.

@bendera
Created October 11, 2016 13:44
Show Gist options
  • Save bendera/4a598770dbe30c23c8dc4582f5ae79a4 to your computer and use it in GitHub Desktop.
Save bendera/4a598770dbe30c23c8dc4582f5ae79a4 to your computer and use it in GitHub Desktop.
Webpack + Vue.js hot module replacement config in an existing site
// build/dev-client.js
/* eslint-disable */
require('eventsource-polyfill')
var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true&path=http://localhost:8080/__webpack_hmr')//<-- HMR config
hotClient.subscribe(function (event) {
if (event.action === 'reload') {
window.location.reload()
}
})
// config/index.js
// see http://vuejs-templates.github.io/webpack for documentation.
var path = require('path')
module.exports = {
build: {
env: require('./prod.env'),
index: path.resolve(__dirname, '../dist/index.html'),
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: '/',
productionSourceMap: true,
// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: false,
productionGzipExtensions: ['js', 'css']
},
dev: {
env: require('./dev.env'),
port: 8080,
assetsSubDirectory: 'static',
assetsPublicPath: 'http://localhost:8080/',//<-- HMR config
proxyTable: {},
// CSS Sourcemaps off by default because relative paths are "buggy"
// with this option, according to the CSS-Loader README
// (https://github.com/webpack/css-loader#sourcemaps)
// In our experience, they generally work as expected,
// just be aware of this issue when enabling this option.
cssSourceMap: false
}
}
<script src="http://localhost:8080/app.js"></script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment