我創建了一個依賴於其他一些自定義JavaScript模塊的jQuery UI小部件。我在widget的「_create」方法中使用requirejs來獲取這些模塊。如果我有最終用戶定義我的「數據主」屬性,這實際上效果很好。但是,在我的消費者單獨使用requirejs並定義他們自己的「數據主」屬性的情況下,這不起作用。構建一個具有requirejs依賴關係的遠程jQuery UI小部件
由於我使用requirejs通過我的小部件從一個完全不同的服務器注入腳本,我遇到了requirejs處理這個問題的一般方法的一些問題。
- 首先,我不能使用package.json文件,除非我假設我的所有使用者都有一個package.json,它包含與我具有完全相同的資源。最重要的是,我有DEV,TEST和PROD服務器URL來處理。
- 第二我不能使用require.config來設置我的baseUrl在他們的服務器上加載期間,因爲它可能會破壞他們正在使用的所有需求。
我正在工作的當前實現需要消費者添加一個腳本引用來請求我的數據主位置(外部服務器)。然後將腳本引用添加到我的小部件(外部服務器)。這是有效的,因爲我公司沒有人甚至聽說過requirejs :)。第二,我開始向他們展示如何將他們的所有代碼捆綁到可重用JavaScript模塊中,我的解決方案已被破壞。
我想提出一個解決方案,而最終用戶可以簡單地引用我的單個JavaScript小部件,然後加載它需要的所有功能。
有關如何做到這一點的任何建議?我曾考慮過使用靜態數據主體來攻擊我自己的require需求,然後假設他們可以有多個requirejs庫。我想要這麼做...但我真的不能想到更好的方法。