gulp和webpack-dev-server,收到错误TypeError:this.sockWrite不是函数

时间:2016-05-16 11:02:51

标签: gulp webpack webpack-dev-server

我正在尝试将webpack-dev-server与浏览器同步集成,使用代理选项和gulp作为任务主机...收到此错误

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

配置文件的相关部分附在下面:

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);
    }
  });

和     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 个答案:

答案 0 :(得分:6)

尝试在webpack_dev_server前面添加new。如果你不新建它,这个句柄被设置为全局句柄而不是新对象