我刚开始使用RequireJS为我的页面加载脚本,但在尝试使用chrome调试问题时遇到了障碍。
假设我的主脚本依赖于两个依赖项:dep1
和dep2
require(["dep1", "dep2"], function(dep1, dep2) {
//do something
});
在运行单元测试时,我注意到dep1.js
中的某些内容无法正常工作,所以我打开了chrome dev工具来插入断点,除了......
... dep1.js
不存在!
如何找到源文件以插入断点?!
我确信在正确运行脚本时正在加载文件 。我只是在源列表中看不到它们
答案 0 :(得分:5)
终于意识到问题在于我使用的是r.js
而不是require.js
。一旦我切换,我就可以毫无问题地看到这些文件。
顺便说一句,临时解决方法是在插入文件的末尾插入下面的行。这个只是获取chrome来获取文件。
//@ sourceURL=GameWorldAction.js
答案 1 :(得分: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文件?如果是这样,dep1
和dep2
文件与主JS文件位于同一目录中吗?如果您尝试从其他路径或域加载文件,则可能必须指定其他baseUrl
。您可以通过在require.config中设置它来更改baseUrl。
<script>
require.config({
//path can also be a domain like "//image.mydomain.tld/jscript"
baseUrl: "/another/path"
});
</script>