Moo*_*oon 9 path relative-path requirejs
我在requirejs中遇到相对路径问题.
首先,我有以下结构.我正在使用虚拟主机(os.com)运行它,路径是os.com/test

的index.html
<script data-main="config" src="require.js"></script>
Run Code Online (Sandbox Code Playgroud)
config.js
require.config({
baseUrl: "./apps",
deps: ['ui'],
paths: {
ui: 'ui/ui',
system: 'system/system',
core: 'core/core'
}
});
Run Code Online (Sandbox Code Playgroud)
ui.js
define(['./class/menuBuilder',"./class/window"], function(menuBuilder, windowBuilder){
return {
menuBuilder: menuBuilder,
windowBuilder: windowBuilder
}
});
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到以下错误.
GET http://os.com/test/apps/class/menuBuilder.js 404 (Not Found)
GET http://os.com/test/apps/class/window.js 404 (Not Found)
Run Code Online (Sandbox Code Playgroud)
如果我从'paths'属性中取出'ui'属性然后将deps更改为['ui/ui'],它可以工作,但我想使用路径.
更改了config.js
require.config({
baseUrl: "./apps",
deps: ['ui/ui'],
paths: {
system: 'system/system',
core: 'core/core'
}
});
Run Code Online (Sandbox Code Playgroud)
如何更改配置以使路径和相对路径一起工作?
Ash*_*hot 12
我有类似的问题.我没有deps:'ui'参与我的配置,只是路径设置,但仍然相对模块引用('./class/menuBuilder')不能从加载路径的模块("ui:'ui)起作用/ ui'")并将使用baseUrl.为了解决这个问题,我将'ui'定义为一个包:
require.config({
baseUrl: "./apps",
deps: ['ui'],
paths: {
system: 'system/system',
core: 'core/core'
},
packages : [
{
name: 'ui',
location : 'ui',
main : 'ui'
},
]
});
Run Code Online (Sandbox Code Playgroud)
在这种情况下,require将正确加载相对模块的模块.
这是一篇有用的文章:RequireJS模块/包的相对路径
| 归档时间: |
|
| 查看次数: |
5556 次 |
| 最近记录: |