不能将核心 nodejs 模块与 browserify (dgram) 一起使用

Can't use core nodejs module with browserify (dgram)

node -v => v5.5.0

命令 => "watchify src/js/app.js --extension=.jsx -t [ babelify --presets [ es2015 react stage-0 ] ] -o public/js/bundle.js -dv",

版本: "browserify": "^12.0.1", "watchify": "^3.6.1"

错误控制台 app.js:42 未捕获类型错误:Dgram.createSocket 不是函数

我的代码在app.js :

var PORT = 33333;
var HOST = '127.0.0.1';

var Dgram = require('dgram');
var message = new Buffer('My KungFu is not good :(');

var client = Dgram.createSocket('udp4');
client.send(message, 0, message.length, PORT, HOST, function(err, bytes) {
   if (err) throw err;
   console.log('UDP message sent to ' + HOST +':'+ PORT);
   client.close();
});

dgram 不能在客户端使用 browserify。

browserify 仅支持节点核心模块的子集:

Get browser versions of the node core libraries events, stream, path, url, assert, buffer, util, querystring, http, vm, and crypto when you require() them

source.

另请参阅 this answer and 关于 UDP 在浏览器中不可用的信息。