2017-04-02 57 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