Browse Source

support hot reload in examples again

Evan You 8 years ago
parent
commit
e874d069b0
3 changed files with 12 additions and 4 deletions
  1. 5 1
      examples/server.js
  2. 5 2
      examples/webpack.config.js
  3. 2 1
      package.json

+ 5 - 1
examples/server.js

@@ -1,11 +1,13 @@
 const express = require('express')
 const webpack = require('webpack')
 const webpackDevMiddleware = require('webpack-dev-middleware')
+const webpackHotMiddleware = require('webpack-hot-middleware')
 const WebpackConfig = require('./webpack.config')
 
 const app = express()
+const compiler = webpack(WebpackConfig)
 
-app.use(webpackDevMiddleware(webpack(WebpackConfig), {
+app.use(webpackDevMiddleware(compiler, {
   publicPath: '/__build__/',
   stats: {
     colors: true,
@@ -13,6 +15,8 @@ app.use(webpackDevMiddleware(webpack(WebpackConfig), {
   }
 }))
 
+app.use(webpackHotMiddleware(compiler))
+
 app.use(express.static(__dirname))
 
 const port = process.env.PORT || 8080

+ 5 - 2
examples/webpack.config.js

@@ -10,7 +10,7 @@ module.exports = {
     const fullDir = path.join(__dirname, dir)
     const entry = path.join(fullDir, 'app.js')
     if (fs.statSync(fullDir).isDirectory() && fs.existsSync(entry)) {
-      entries[dir] = entry
+      entries[dir] = ['webpack-hot-middleware/client', entry]
     }
 
     return entries
@@ -40,7 +40,10 @@ module.exports = {
     new webpack.optimize.CommonsChunkPlugin('shared.js'),
     new webpack.DefinePlugin({
       'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development')
-    })
+    }),
+    new webpack.optimize.OccurenceOrderPlugin(),
+    new webpack.HotModuleReplacementPlugin(),
+    new webpack.NoErrorsPlugin()
   ]
 
 }

+ 2 - 1
package.json

@@ -57,6 +57,7 @@
     "vue": "^2.0.0-beta.5",
     "vue-loader": "^9.0.3",
     "webpack": "^1.12.8",
-    "webpack-dev-middleware": "^1.6.1"
+    "webpack-dev-middleware": "^1.6.1",
+    "webpack-hot-middleware": "^2.12.2"
   }
 }