2011-04-05 353 views
4

我正在使用RequireJS,並且我所有的模塊都駐留在/payloads/backend/application中。如何設置默認baseUrl

I.e.

/payloads/backend/application/blog/newPost.js 
/payloads/backend/application/blog/models/category.js 

每當我用require()我有一個配置對象到指定的baseUrl:

require({baseUrl: "/payloads/backend/application"}, ["blog/widgets/categories"], function(widget){ 
     // do some stuff with widget 
    }); 

我曾嘗試加入到這個我<head>

<script type="text/javascript"> 
    var require = { 
     baseUrl: "/payloads/backend/application" 
    }; 
</script> 

這不利於...

我試着暫時將require.js移動到應用程序在沒有幫助的文件夾上。

如何指定默認的baseUrl?

回答

6

你能說明你是如何通過腳本標籤指定上面的inline require調用順序來加載require.js的嗎?隨着RequireJS 0.24.0和更高,這應該工作:

<script type="text/javascript"> 
    var require = { 
     baseUrl: "/payloads/backend/application" 
    }; 
</script> 
<script src="path/to/require.js"></script> 
<script>require(["blog/widgets/categories"], function() {}</script> 

如果您正在使用的數據主要屬性(推薦),main.js已經在「應用程序」目錄,那麼就應該所有的工作出:在的baseUrl應自動設置到應用程序目錄:

<script data-main="/payloads/backend/application/main.js" src="path/to/require.js"></script> 

上面只有RequireJS 0.24.0和更大的工作。

關於錯誤的更多信息也會有幫助:它仍然使用相對於頁面的baseUrl嗎?控制檯中是否存在某種錯誤?在瀏覽器的Web開發工具中檢查Net或Resources面板將顯示使用的文件路徑。

+0

很快會回覆你。這是關於不在上下文中使用的東西「_」 – Cobby 2011-04-05 21:43:05

+0

不知道我做了什麼,但我認爲它現在正在工作:s 感謝您的幫助。 – Cobby 2011-04-05 22:39:05