配置 dojo 加载程序路径
Posted
技术标签:
【中文标题】配置 dojo 加载程序路径【英文标题】:Configuring dojo loader paths 【发布时间】:2013-07-31 07:39:59 【问题描述】:我在设置 dojo
时遇到问题。 dojo
配置中定义的任何内容似乎都可以使用 localhost:8080/Scripts/foo.js
路径正确加载。但是,如果我尝试在没有这个的情况下加载模块,请说:
require(['foo'], function (_foo) );
然后客户端请求失败,尝试的路径为localhost:8080/foo.js
。显然是错误的。
我需要改变什么?
// Configuration for the dojo AMD module loader
dojoConfig =
baseUrl: "/Scripts",
packages: [
name: 'esri',
location: 'esri'
,
name: 'dojo',
location: 'dojo/dojo'
,
name: 'dojox',
location: 'dojo/dojox'
,
name: 'dijit',
location: 'dojo/dijit'
,
name: 'jquery',
location: '.',
main: 'jquery-2.0.2'
,
谢谢。
【问题讨论】:
【参考方案1】:这些都可以解决您的问题:
-
设置
dojoConfig.tlmSiblingOfDojo = false
。
将“foo”定义为具有明确位置的包。
【讨论】:
Dojo 文档:“baseUrl:(字符串)如果计算路径是相对的,则添加到计算路径的路径,如下面的过程所述。如果已定义,则具有功能 config-tlmSiblingOfDojo 为 false;否则,这是真的。”所以它已经是假的了。但是我已将 foo 放入一个文件夹,并将该文件夹定义为一个包。这似乎有效。所以打包“bar”,用“bar/foo”加载文件。【参考方案2】:看看这个链接:http://dojotoolkit.org/documentation/tutorials/1.6/dojo_config/
也许从包到 modulePaths 的更改会对您有所帮助。
否则我会以普通方式定义包:
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.6.1/dojo/dojo.xd.js"></script>
问候
【讨论】:
以上是关于配置 dojo 加载程序路径的主要内容,如果未能解决你的问题,请参考以下文章
依赖于 Yii2 中 JavaScript 代码块的 JavaScript 文件(用于 dojo 配置)