require的路徑問題(比較重要)
阿新 • • 發佈:2017-07-26
比較 收錄 設置 例如 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的路徑問題(比較重要)