我是Browserify for NodeJS的初学者,我编写了一个简单的模块,该模块将列出网络接口并将其返回给查看网页的人员。我首先编写了main.js文件,
var os = require("os");
document.write(os.networkInterfaces());
然后,我通过此命令 browserify main.js -o bundle.js 编译了代码,该命令完成后未产生任何输出,但创建了bundle.js。这是html代码发挥作用的时候,
<html>
<body>
Hi, here are your network interfaces:
<script src="bundle.js"></script>
</body>
</html>
在加载页面时,它说,嗨,这是您的网络接口:[对象对象] 当我期望NodeJS说它被调用时返回的字符串os.networkInterfaces()函数返回时。我做错了什么,该如何解决?
答案 0 :(得分:0)
与browserify
无关。
document.write
试图通过调用对象原型的Object#toString()
函数来对对象进行字符串化。
因此,如果要打印字符串,请使用JSON.stringify(obj, null, 2)
(2用于2个空格,用于美化)
var os = require("os");
document.write(JSON.stringify(os.networkInterfaces(), null, 2)));
注意:您可以通过键入以下内容来检入控制台:
console.log({"foo":"bar"}.toString());
此外,如果要在浏览器中使用os
模块,则需要使用os-browserify