2017-04-02 33 views
1

我刚刚发现browserify,这听起来很酷。但是我尝试在canvas元素追加到身体(文件名:Renderer.js):Browserify文件未定义

window.document.body.appendChild(this.canvas) 
    module.exports = Renderer 

,我也有一个main.js

var Renderer = require("Renderer.js") 
var r = new Renderer(); 

所以我建立捆绑像这样:

browserify main.js -o bundle.js 

当我启动项目:

node server.js 

我收到以下错误消息

  • 的ReferenceError:文件没有定义(如果仅仅document.body的)
  • 和窗户没有被定义(当window.document.body)

有人可以解释这种行为,以及如何解决它?

+0

如果您在脚本的开头声明了这些变量,有帮助吗?就像添加'var window;'或'var document;'一样? – skwidbreth

+0

我真的不明白? – greedsin

回答

0

您是否尝试在服务器上运行该browserify代码?请不要,因为在服务器中没有window元素,而节点只有global。相反,您需要使用浏览器下载浏览过的代码并在浏览器上执行。

请注意,browserify库主要是为客户端捆绑包使用require风格的调用。

+1

是的我知道这一点,这个代码运行在客户端 – greedsin