2011-02-28 52 views
2

我正在構建requirejs插件並將它們加載到我的頁面上。然而,在我的頁面上,我設置了一個baseUrl值,這樣我就可以使用「tools/foo」而不是「/ static/js/blah/tools/foo」加載插件。requirejs - 如何從插件中獲取「baseUrl」信息?

但是現在我希望允許插件加載css文件。我想通過添加一個鏈接到標題來完成,而不是用「text!foo.css」加載css內容。我也不想指定一個完全合格的css文件路徑。有沒有辦法讓我從一個requirejs插件中調出我在頁面上設置的baseUrl設置,以便我可以使用它來幫助查找我的css文件?

回答

7

加載函數的parentRequire參數具有一個parentRequire.toUrl()方法,該方法將解析任何路徑,就像它是模塊名稱一樣,但具有擴展名。所以:

var cssPath = parentRequire.toUrl('tools/foo.css'); 

會返回類似/static/js/blah/tools/foo.css的路徑。

它看起來像我忘了添加到plugins doc頁面,我會把任務,以獲得記錄。

+0

謝謝!順便說一句,我喜歡requirejs繼承模式對我的js代碼做了什麼。感謝偉大的工具! – chrispitzer 2011-03-03 19:01:21