2016-05-27 54 views
2

我做了4個JavaScript文件,A,B,C,D,他們將導出4個模塊A,B,C,D。他們的依賴是A-> B-> C-> D。我輸入命令如何使用browserify創建的包文件?

browserify A.js -o bundle.js 

並且包文件包括A,B,C,D被創建。在HTML文件中,我得到了

<script src="bundle.js"></script> 
<script src="client.js"></script> 

的client.js裏,我得到了

var a = new A(); 

控制檯將打印出一個沒有定義的錯誤。 不過,如果我刪除「需要」和module.exports上所有的JS文件client.js將工作和在HTML文件中做到這一點

<script src = "D.js"></script> 
<script src = "C.js"></script> 
<script src = "B.js"></script> 
<script src = "A.js"></script> 
<script src = "client.js"></script> 

有沒有人有這個問題的任何想法?

回答

1

你必須創建一個standalone束將一個變量添加到全局執行環境,這與--standalone <name>選項

browserify A.js --standalone A -o bundle.js 
+0

非常感謝你!問題成功解決! –

0

完成除此之外毛提出的獨立選項,你也可以有browserify創建一個require函數,所以你可以在瀏覽器中使用require函數。

browserify -r ./A.js:a_module ./B.js ./C.js ./D.js -o bundle.js 

然後你client.js文件,可以這樣做:

var a_module = require('a_module'); 
var a = new a_module.A(); 

這是external requires選項。

相關問題