javascript - 如何设置默认的baseUrl

标签 javascript requirejs

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

/payloads/backend/application/blog/newPost.js
/payloads/backend/application/blog/models/category.js

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

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

我已经尝试将其添加到我的 <head> 中:

<script type="text/javascript"> 
    var require = {
        baseUrl: "/payloads/backend/application"
    };
</script> 

这没用...

我尝试暂时将 require.js 移动到应用程序文件夹,但也没有帮助。

如何指定默认的 baseUrl?

最佳答案

你能展示一下你是如何使用脚本标签指定上面的内联 require 调用的顺序来加载 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>

如果您正在使用 data-main 属性(推荐),并且 main.js 已经在“applications”目录中,那么它应该一切正常:baseUrl 应该自动设置为 applications 目录:

<script data-main="/payloads/backend/application/main.js" src="path/to/require.js"></script>

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

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

关于javascript - 如何设置默认的baseUrl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5547996/

相关文章:

requirejs - Require.js 没有正确编译单个 js 文件

javascript - 打开图形在单页应用程序 AngularJs 中无法正常工作

javascript - 使用 requirejs 的循环内的函数

javascript - 将嵌套模块与 require.js 优化器结合起来

requirejs - Require、Knockout 和 pager 是 Undefined TypeError

javascript - Coffeescript 将客户端文件移植到具有全局变量的 Node

javascript - 如何在返回函数中返回两个 map 值 - React js

javascript - 创建对象数组只进行 1 次迭代

javascript - Ajax 表单没有得到结果

javascript - 了解不同的事件监听器方法