配置 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 加载程序路径的主要内容,如果未能解决你的问题,请参考以下文章

在运行时将包添加到 dojo 配置

require的路径问题(比较重要)

依赖于 Yii2 中 JavaScript 代码块的 JavaScript 文件(用于 dojo 配置)

类型安全配置:从打包的 scala 应用程序的外部路径加载附加配置

Go 各种方式加载配置文件

web.xml中如何设置配置文件的加载路径