RequireJS 包裝第三方庫的常規做法是什麼?

時間 2021-05-05 16:43:03

1樓:寸志

包裝第三方庫的正確做法就是不包裝!

而是使用 RequireJS 提供的配置來實現:

requirejs

.config

(,'underscore':,

'foo':}

}});

//Then, later in a separate file, call it 'MyModel.js', a module is

//defined, specifying 'backbone' as a dependency. RequireJS will use

//the shim config to properly load 'backbone' and give a local

//reference to this module. The global Backbone will still exist on

//the page too.

define

(['backbone'

],function

(Backbone));

});引用自官方的文件:RequireJS API。

2樓:xs yin

簡單粗暴點,在原始碼裡加工廠載入器那幾句,

還有,那些不支援AMD的通通都加上這句話

需要墊子的,把它們弄到一起,整成乙個檔案, 相信我,這樣在載入的時候,你就不會看到那一長坨的載入陣列。

至於繫結到誰身上,那就要看你的需求了, 或者再弄個大物件,包住這幾個。

一般require載入完了,肯定會做快取,不必擔心效能。反正你怎麼都要整進來這幾個檔案。

3樓:

requirejs中用shim來處理non-AMD的第三方庫。用shim管理第三方庫,需要管理好依賴關係,RequireJS API文件裡有詳細說明。

requirejs.config(

Underscore與Backbone都是支援AMD規範的,所以可以看出shim config對是否符合AMD規範是都可以使用的。

Github上也有相關的gulp包:

An AMD (RequireJS) optimizer that's stream-friendly. Made for gulp.

scalableminds/amd-optimize · GitHub

golang第三方庫fasthttp為什麼要使用slice而不是map來儲存header?

歲寒 我覺得問題裡別人的回答都挺好,簡而言之就是slice簡單,header引數少,沒必要放map。如果從資料結構的角度來說,可能slice相對更輕量級,比map更能充分的利用記憶體把 其實這些star多的庫沒什麼神秘的 Coldwings 為了fast,確切說是為了減少記憶體copy 因為http...

Swift 有哪些優秀的第三方庫?

強烈推薦 DCFrame bytedance DCFrame 可以非常簡單的管理複雜頁面,輕鬆實現模組間的通訊問題。相比IGListKit,更加輕量,而且功能綜合要比IGListKit多。 shadow BreakOutToRefresh 乙個下拉重新整理打磚塊的swift庫SDRefreshVie...

pycharm沒辦法安裝第三方庫怎麼解決?

酒罈壇兒 1.你這個應該是安裝python環境的時候出的問題,你在安裝python環境的時候預設沒有安裝 pip 和 setuptools,如果想要用pycharm安裝第三方庫你至少的先把python的包管理工具pip裝好 2.你的第三方庫不應該安裝在系統環境裡面,最好建立乙個虛擬環境 Herobr...