1

这是我的文件夹结构:

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 工作?

4

1 回答 1

0

您的要求中不应包含 .js。它应该是:

require(["object/extend"], function (extend){

});

当 RequireJS 在模块名称中看到一个点时,它似乎假定这是一个完整的 URL,并且不处理 baseUrl 等。但是请注意,如果您已将其定义为,您仍然可以在模块名称中使用点路径映射:

require.config({
  paths: {
    'a.b': 'libraries/something/a.b'
  }
});

然后要求它:

require(['a.b'], function (ab){

});
于 2013-07-26T13:02:30.293 回答