2017-08-10 97 views
0

我使用requirejs來管理項目中的JavaScript文件。但是,我想使用一些不符合AMD格式的外部庫。我想包括的圖書館是barba.js。這將如何使用requirejs的package loading feature來完成?理想情況下,我想包含一個commonjs模塊而不運行轉換工具。使用requirejs將commonjs模塊包含在項目中的最佳方法

+1

除非我失去了一些東西大這裏,巴爾巴。 js確實堅持AMD格式,代碼的第一行嘗試使用不同的解決方案,例如導出和定義。這意味着它在requireJS下應該可以正常工作。 – Salketer

回答

1

Barba不使用CommonJS模塊格式。

Barba使用UMD (Universal Module Definition)模塊格式。這意味着它兼容 AMD模塊加載(由RequireJS使用)和CommonJS模塊加載(由Node.js使用)。

所以,這意味着你可以只包括巴爾巴 - 或者UMD格式的任何其他模塊 - 與RequireJS你包括AMD模塊的方式相同:

define([ 
    "barba/barba" 
], function(Barba) { 
    Barba.Pjax.start(); // You can use Barba here 
}); 
0

From requireJS doc。

define(function(require, exports, module) { 
    //Put traditional CommonJS module content here 
}); 

這應該會讓一切都好起來。我真的不確定是否需要它。

+0

謝謝。我已經看到這個選項,但我寧願不要手動修改每個文件,如果可能的話.. –

+0

正如我暗示艱難,我不認爲你甚至應該這樣做...看着barba.js源代碼,我認爲這是爲了與requireJS一起工作。 – Salketer

相關問題