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

时间:2016-01-30 10:25:01

标签: node.js browserify

node -v => V5.5.0

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

版本: " browserify":" ^ 12.0.1", "观察":" ^ 3.6.1"

错误控制台 app.js:42 Uncaught TypeError: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();
});

1 个答案:

答案 0 :(得分:1)

dgram不能在浏览器化的客户端使用。

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

  

当你需要()时,获取节点核心库事件,流,路径,url,断言,缓冲区,util,querystring,http,vm和crypto的浏览器版本

source

还要查看this answerthat one,了解UDP在浏览器中的不可用性。