2
votes

I am trying to integrate the webpack-dev-server with browser sync using the proxy option with gulp as the task master…getting this error

TypeError: this.sockWrite is not a function
  at /.../node_modules/webpack-dev-server/lib/Server.js:29:8
  at Compiler.applyPlugins (/.../node_modules/tapable/lib/Tapable.js:26:37)
  at Compiler.compile (/.../node_modules/webpack/lib/Compiler.js:390:7)
  at Watching.<anonymous> (/.../node_modules/webpack/lib/Compiler.js:46:17)
  at Compiler.next (/.../node_modules/tapable/lib/Tapable.js:67:11)
  at Compiler.invalidAsyncPlugin (/.../node_modules/webpack-dev-middleware/middleware.js:80:3)
  at Compiler.applyPluginsAsync (/.../node_modules/tapable/lib/Tapable.js:71:13)
  at Watching._go (/.../node_modules/webpack/lib/Compiler.js:44:16)
  at Watching.<anonymous> (/.../node_modules/webpack/lib/Compiler.js:36:8)
  at Compiler.readRecords (/.../node_modules/webpack/lib/Compiler.js:302:10)
  at new Watching (/.../node_modules/webpack/lib/Compiler.js:33:16)
  at Compiler.watch (/.../node_modules/webpack/lib/Compiler.js:161:17)
  at module.exports (/.../node_modules/webpack-dev-middleware/middle

Relevant portions of the config files are attached below:

gulpfile.js

var webpack = require('webpack')

webpack_dev_server(webpack(webpack_config), {
    hot: true,
    publicPath: webpack_config.output.path,
    stats: {
      color: true
    }
  }).listen(8080, 'localhost', function(err) {
    if (err) {
      throw plugins.util.PluginError('webpack-dev-server', err);
    }
  });

and webpack.config

module.exports = {
  cache: true,
  debug: true,
  devtool: 'source-map',
  extensions: ['', 'js', '.json', '.coffee'],
  entry: './www/static/js/entry.js',
  output: {
    path: path.join(__dirname, '/www/static/js'),
    filename: 'bundle.js'
  },
  watch: true
};
1

1 Answers

6
votes

Try adding new in front of webpack_dev_server. If you don't new it it's this handle gets set to the global handle instead of a new object