2015-07-20 23 views
0

新的前端開發,我試圖建立一個早午餐骨幹網絡應用程序。 一切都很好,直到我試圖使用名爲node-xmpp-client的節點模塊。 這個模塊有一個瀏覽過的版本:node-xmpp-browser.js它可以在我的谷歌瀏覽器中正常工作。如何將browserified節點模塊集成到brunch-built應用程序中?

1 - 我想添加這個節點XMPP的browser.js到供應商目錄要把它捆綁到app.js,但在我的js控制檯中加載index.html頁面時,會出現以下錯誤:

Uncaught TypeError: require.register is not a function Uncaught 
TypeError: require.register is not a function Uncaught TypeError: 
loaderPath.indexOf is not a function 

2 - 然後,我想這個腳本添加到我的直接index.html頁面(一樣的節點XMPP的客戶端瀏覽器爲例):

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>My WebUI</title> 
    <link rel="stylesheet" type="text/css" href="app.css"> 
    <meta name="viewport" content="width=device-width" initial- scale="1.0"> 
</head> 
<body> 
    <div class='root-view'></div> 
    <script src="node-xmpp-browser.js"></script> 
    <script src='vendor.js'> </script> 
    <script src='templates.js'> </script> 
    <script src='app.js'> </script> 
    <script> require('initialize'); </script> 
</body> 
</html> 

但控制檯再次抱怨:

Uncaught TypeError: require.register is not a function 
Uncaught TypeError: require.register is not a function 
Uncaught Error: Cannot find module 'initialize' 

似乎與在browserified腳本和brunch內置腳本中聲明模塊(通過require關鍵字)存在衝突?

將這樣的browserified模塊包含到基於早午餐的應用程序中的正確方法是什麼?

非常感謝您的時間,

皮埃爾

+0

似乎早午餐有自己的封裝機制。剩下的問題是「如何將節點模塊集成到在瀏覽器中運行的Web應用程序中?」 –

+0

jspm.io可能是解決方案...挖掘它... –

+0

我看到了許多在早午餐應用程序中使用的browserified模塊。工作很酷。所以,應該是絕對有可能的。 –

回答

1

你需要一個require定義捆綁到您的客戶端腳本。這是Brunch默認設置,所以無論腳本標記的順序是否需要調整,以便require在任何期望的腳本被加載之前定義,或者您可能在您的配置中設置modules: definition: false

相關問題