我正在使用 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/