我在requirejs中有相对路径的问题.
首先,我有以下结构.我正在运行一个虚拟主机(os.com),路径是os.com/test
的index.html
<script data-main="config" src="require.js"></script>
config.js
require.config({ baseUrl: "./apps",deps: ['ui'],paths: { ui: 'ui/ui',system: 'system/system',core: 'core/core' } });
ui.js
define(['./class/menuBuilder',"./class/window"],function(menuBuilder,windowBuilder){ return { menuBuilder: menuBuilder,windowBuilder: windowBuilder } });
当我运行它,我得到以下错误.
GET http://os.com/test/apps/class/menuBuilder.js 404 (Not Found) GET http://os.com/test/apps/class/window.js 404 (Not Found)
如果我从“路径”属性中取出“ui”属性,那么将deps更改为[‘ui / ui’],它可以使用,但是我想使用路径.
更改了config.js
require.config({ baseUrl: "./apps",deps: ['ui/ui'],paths: { system: 'system/system',core: 'core/core' } });
如何更改配置以使路径和相对路径一起工作?
解决方法
我也有类似的问题.我没有deps:’ui’在我的配置,只是路径设置,但仍然相对模块引用(‘./class/menuBuilder’)将无法从加载路径的模块(“ui:’ui / ui’“),并使用baseUrl.为了解决这个问题,我把’ui’定义为一个包:
require.config({ baseUrl: "./apps",core: 'core/core' },packages : [ { name: 'ui',location : 'ui',main : 'ui' },] });
在这种情况下,需要正确加载相对受影响的模块.