14

我刚刚开始使用RequireJS为我的页面加载脚本,但是在尝试使用 chrome 调试问题时遇到了障碍。

假设我的主脚本依赖于两个依赖项:dep1dep2

require(["dep1", "dep2"], function(dep1, dep2) {
    //do something
});

在运行单元测试时,我注意到其中的某些dep1.js内容无法正常工作,因此我打开了 chrome 开发工具来插入断点,除了...

缺少依赖项

……dep1.js不存在!

如何定位源文件以插入断点?!

我确信文件正在加载,因为脚本正在正确运行。我只是在来源列表中看不到它们

4

2 回答 2

4

终于意识到问题是我使用r.js的是require.js. 切换后,我可以毫无问题地看到文件。

顺便说一句,临时解决方法是在插入文件的末尾插入下面的行。这只是让 chrome 拾取文件。

//@ sourceURL=GameWorldAction.js
于 2013-01-16T22:24:59.347 回答
1

在上面的示例中,您永远不会关闭您的数组。

require(["dep1", "dep2", function(dep1, dep2) {
    //do something
});

应该:

require(["dep1", "dep2"], function(dep1, dep2) {
    //do something
});

编辑以响应对问题的更新:

我假设r.js是 RequireJs 文件。看起来 RequireJS 没有正确加载文件,如果有,那么文件将显示在您的检查器中。

您是否使用标签data-main上的属性script来指定主 JS 文件?如果是,dep1dep2文件是否与主 JS 文件在同一目录中?baseUrl如果您尝试从不同的路径或域加载文件,您可能必须指定不同的。您可以通过在 require.config 中设置来更改 baseUrl。

<script>
  require.config({
    //path can also be a domain like "//image.mydomain.tld/jscript"
    baseUrl: "/another/path" 
  });
</script>
于 2013-01-16T19:12:39.813 回答