如何设置默认的baseUrl

Cob*_*bby 4 javascript requirejs

我正在使用RequireJS,我的所有模块都在/payloads/backend/application.

/payloads/backend/application/blog/newPost.js
/payloads/backend/application/blog/models/category.js
Run Code Online (Sandbox Code Playgroud)

每当我使用时,require()我必须在配置对象中指定baseUrl:

require({baseUrl: "/payloads/backend/application"}, ["blog/widgets/categories"], function(widget){
        // do some stuff with widget
    });
Run Code Online (Sandbox Code Playgroud)

我试过把它添加到我的<head>:

<script type="text/javascript"> 
    var require = {
        baseUrl: "/payloads/backend/application"
    };
</script> 
Run Code Online (Sandbox Code Playgroud)

这没有帮助......

我试着暂时将require.js移动到没有帮助的应用程序文件夹中.

如何指定默认的baseUrl?

jrb*_*rke 6

你能说明如何用脚本标签指定上面的内联需求调用的顺序来加载require.js吗?使用RequireJS 0.24.0和更高版本,这应该工作:

<script type="text/javascript"> 
    var require = {
        baseUrl: "/payloads/backend/application"
    };
</script> 
<script src="path/to/require.js"></script>
<script>require(["blog/widgets/categories"], function () {}</script>
Run Code Online (Sandbox Code Playgroud)

如果您正在使用data-main属性(推荐),并且main.js已经在"applications"目录中,那么它应该全部解决:baseUrl应该自动设置为applications目录:

<script data-main="/payloads/backend/application/main.js" src="path/to/require.js"></script>
Run Code Online (Sandbox Code Playgroud)

以上仅适用于RequireJS 0.24.0及更高版本.

有关错误的更多信息也会有所帮助:它是否仍然使用相对于页面的baseUrl?控制台中是否存在某种错误?在浏览器的Web开发人员工具中检查"网络"或"资源"面板将显示使用的文件路径.