Javascript 如何在不使用绝对url的情况下从多个路径加载require.js?
我的目录结构如下:Javascript 如何在不使用绝对url的情况下从多个路径加载require.js?,javascript,jquery,html,requirejs,Javascript,Jquery,Html,Requirejs,我的目录结构如下: ├── index.html ├── static │ └── js │ ├── main.js │ ├── jquery.js │ └── require.js └── subfolder └── index.html 在我的顶级index.html中,我像这样加载require.js,它可以工作: <script data-main="static/js/main" src="static/js/require.mi
├── index.html
├── static
│ └── js
│ ├── main.js
│ ├── jquery.js
│ └── require.js
└── subfolder
└── index.html
在我的顶级index.html
中,我像这样加载require.js,它可以工作:
<script data-main="static/js/main" src="static/js/require.min.js"></script>
这将导致“脚本错误:jquery”,并且对于mymain
模块的每个依赖项也是如此
require.js的baseUrl
设置为static/js
。因为这些页面是本地使用的,所以我不能使用绝对url。如何让require.js从子文件夹中工作
main.js文件的内容:
require.config({
baseUrl: 'static/js',
paths: {
'jquery': 'jquery-2.0.3',
}
});
require(['jquery'], function($) { ... }
解决方案是根本不设置
baseUrl
:
如果在配置中没有显式设置baseUrl,则默认值将是加载require.js的HTML页面的位置。如果使用数据主属性,则该路径将成为baseUrl
删除
baseUrl
设置导致上述示例正常工作。显示main.js文件。是否尝试过baseUrl:'../static/js'
?如果我这样做,则顶级index.html
将停止工作。
require.config({
baseUrl: 'static/js',
paths: {
'jquery': 'jquery-2.0.3',
}
});
require(['jquery'], function($) { ... }