1. 程式人生 > >require的路徑問題(比較重要)

require的路徑問題(比較重要)

比較 收錄 設置 例如 term 方法 gis base 加載文件

dojo.baseUrl

baseUrl用來存儲dojo.js存放 的跟目錄,例如dojo.js的路徑是“/web/scripts/dojo-1.3/dojo/dojo.js”則baseUrl為“/web /scripts/dojo-1.3/dojo/”,dojo.baseUrl也可以通過djConfig.baseUrl來配置。

dojo認為所有不以dojo開始的包都存放在和dojo文件夾相同的目錄中,因此dojo.require(“some.module”),是dojo加載文件“/web/scripts/dojo-1.3/some/module.js”。

dojo.registerModulePath

registerModulePath方法用來指定包的加載路徑,該路徑是相對dojo.baseUrl的:
dojo.registerModulePath("lib", "../../lib");
// 如果dojo.js的路徑是 /somepath/dojotoolkit/dojo/dojo.js
// baseURL是 "/somepath/dojotoolkit/dojo/"
// 則 "lib" 的路徑是 "/somepath/lib"

註意:如果指定的路徑以“/”或“http”開始,則路徑和baseUrl無關,設置的路徑的值不能以"\"結尾。

djConfig.modulePaths

modulePaths屬性配置多個module的路徑,初始化時,調用dojo.registerModulePath定義多個module path。

var djConfig = {
     modulePaths : {‘foo1‘: ‘../../bar1‘,‘foo2‘: ‘../../bar2‘}
 }

dojo.moduleUrl

moduleUrl方法返回某個url相對於指定module的path的絕對路徑(比較啰嗦,看看例子)。

//
points to $dojoroot/dijit/form/tests/TestFile.html var url = dojo.moduleUrl("dijit.form", "tests/TestFile.html"); dojo.xhrGet({ url: url, load: function(html){ dojo.byId("foo").innerHTML = html; } });

以上為網上收錄,感謝原作者。

require的路徑問題(比較重要)