这是我的文件夹结构:
project
|---src
| |---lib/require.js
| |---object/extend.js
| |---main.js
|
|---index.html
在main.js中,我导入require.js和main.js,成功:
<script type="text/javascript" src="src/lib/require.js" data-main="src/main"></script>
然后在main.js中,我尝试导入extend.js:
requirejs.config({
baseUrl: 'src'
});
require(["object/extend.js"], function (extend){
});
但它失败了,它告诉404
,我看到请求是:
http://127.0.0.1:8000/object/extend.js
似乎baseUrl
无效
所以我的代码出了什么问题?我怎样才能让baseUrl工作?
答案 0 :(得分:0)
你的要求不应该有.js。它应该是:
require(["object/extend"], function (extend){
});
当RequireJS在模块名称中看到一个点时,它似乎认为这是一个完整的URL并且不处理baseUrl等。但是,请注意,如果你已经在模块名称中仍然使用一个点将其定义为路径映射:
require.config({
paths: {
'a.b': 'libraries/something/a.b'
}
});
然后需要它:
require(['a.b'], function (ab){
});