2

我在使用 Play 时发生了这种情况!框架,但我认为在使用RequireJS时通常会发生这种情况。

在模板中,我使用了以下语句:

 <script>require = {
      // The path where your JavaScripts are located
      baseUrl: "assets/js/",
    ...
};</script>
@helper.requireJs(core = routes.Assets.at("js/require-jquery.js").url, module = routes.Assets.at("js/main.js").url)

编译为:

<script> require = ... </script>
<script type="text/javascript" data-main="/assets/js/main.js" src="/assets/js/require-jquery.js"></script>

当我在浏览器中点击重新加载时,我可以在控制台中看到以下错误:

GET http://localhost:9000/assets/js/main?bust=1361232944505 404 (Not Found) require-jquery.js:1843
Uncaught Error: Script error
http://requirejs.org/docs/errors.html#scripterror 

如您所见,请求的文件的扩展名.js被截断。为什么?如何避免这种情况?

4

1 回答 1

1

问题是 RequireJS config 包含该字段,并且在标签的属性中baseUrl重复了相同的路径。改变玩法!框架助手语句:data-mainscript

@helper.requireJs(core = routes.Assets.at("js/require-jquery.js").url, module = "main")

或在一般情况下:

<script type="text/javascript" data-main="main" src="/assets/js/require-jquery.js"></script>

消除了问题。

为什么会发生这种情况并以模糊的方式表现出来是 RequireJS 开发人员的问题。无论如何玩!应更正此处此处的文档中描述的框架示例,并且还应更新RequireJS 页面上的常见错误部分。

于 2013-02-19T00:37:02.117 回答