2014-02-17 54 views
6

這可能是一個蹩腳的問題,但是如何在常規JavaScript中實現與require()(Node.js)相同的功能呢?如何在沒有Node.js的情況下使用JS require()

有些幫助真的很感激。

+0

您必須使用eval和sync ajax來重新創建node.js的require()函數。不用說,大多數開發人員都不喜歡,所以他們使用像yepnope,requireJS,AMD等那樣不太方便的異步導入。 – dandavis

回答

7

有幾種服務可以讓你這樣做。

最受歡迎的是Browserify

基本上,它需要通過語法樹讀取文件並將其轉換爲與RequireJS類似的樣式。

請注意,這需要額外的編譯步驟。 (我們最終會得到模塊ES6,但這樣有這麼:))

+0

2017 - 最受歡迎的是webpack –

4

http://requirejs.org/docs/start.html

模塊加載器稱爲RequireJS存在於瀏覽器使用,而無需使用Node.js的或犀牛。

要使用它,在你的頁面下載並保存腳本,並將其納入

<!DOCTYPE html> 
<html> 
    <head> 
     <title>My Sample Project</title> 
     <!-- data-main attribute tells require.js to load 
      scripts/main.js after require.js loads. --> 
     <script data-main="scripts/main" src="scripts/require.js"></script> 
    </head> 
    <body> 
     <h1>My Sample Project</h1> 
    </body> 
</html> 

的數據主要屬性將指向你的主腳本,您可以使用加載腳本的其餘部分:

require(["helper/util"], function(util) { 
    //This function is called when scripts/helper/util.js is loaded. 
    //If util.js calls define(), then this function is not fired until 
    //util's dependencies have loaded, and the util argument will hold 
    //the module value for "helper/util". 
}); 

欲瞭解更多信息,請在http://requirejs.org結算文件。

相關問題