Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VS代码调试独立的单个JavaScript文件_Javascript_Visual Studio Code - Fatal编程技术网

使用VS代码调试独立的单个JavaScript文件

使用VS代码调试独立的单个JavaScript文件,javascript,visual-studio-code,Javascript,Visual Studio Code,我有一段独立的JS代码,可以发出HTTP请求并对其进行一些处理。现在,通常我会在repl.it中运行这些脚本,然后在console.loging数据中调试这些脚本。然而,VS代码有一个整洁的侧板,上面有“变量”、“监视”、“调用堆栈”,我希望充分利用它们 我使用了VS Marketplace的“Chrome调试器”扩展。然而,每次我点击F5,Chrome浏览器就会打开并尝试连接到本地主机,我的JS代码不需要它。这是我的launch.json文件(默认生成): 我期望发生的是,我的JS代码应该在V

我有一段独立的JS代码,可以发出HTTP请求并对其进行一些处理。现在,通常我会在repl.it中运行这些脚本,然后在
console.log
ing数据中调试这些脚本。然而,VS代码有一个整洁的侧板,上面有“变量”、“监视”、“调用堆栈”,我希望充分利用它们

我使用了VS Marketplace的“Chrome调试器”扩展。然而,每次我点击F5,Chrome浏览器就会打开并尝试连接到本地主机,我的JS代码不需要它。这是我的
launch.json
文件(默认生成):

我期望发生的是,我的JS代码应该在VS代码中运行,我的代码的调用堆栈和变量应该显示在左侧的边栏中

那么,如何实现这一任务呢


示例:以下脚本在一定程度上代表了我的脚本的功能:

var xhttp = new XMLHttpRequest();
xhttp.open("GET", "https://some.website.org/numbers/", true);
xhttp.setRequestHeader("Content-type", "text/plain");
xhttp.send();

xhttp.onload = function (e) {
    var numbers = JSON.parse(e.srcElement.response));
    add(numbers);
};

function add(numbers){
    console.log(numbers);
}

这当然比这更复杂,但要点是一样的:进行一次API调用并对接收到的数据进行一些操作。

您能否尝试使用chrome中的脚本打开HTML页面,然后使用chrome调试器的附加功能

有一个示例启动设置,您可以在其中指定文件:

{
    "version": "0.1.0",
    "configurations": [         
        {
            "name": "Launch index.html (disable sourcemaps)",
            "type": "chrome",
            "request": "launch",
            "sourceMaps": false,
            "file": "${workspaceFolder}/index.html"
        },
    ]
}

你的代码应该在哪里运行?节点还是浏览器?@SLaks这是一个简单的JS小代码。即使在Chrome上打开F12 DevTools控制台并将代码粘贴到其中,它也可以运行。它也可以在repl.It上运行。它不应该在节点上运行。它可能在那里工作,但我没有尝试过,也不希望。那么您需要一个web服务器来为运行它的HTML页面提供服务。@SLaks抱歉,但我的JS代码在repl.It中运行得很好,所以我真的无法理解我需要为此打开整个web服务器。事实上,我的JS代码完全可以在不需要任何HTML的情况下运行。我认为web服务器只是用来存储敏感信息,或者用来做一些客户端不应该做的秘密操作;web服务器用于提供HTTP响应(如网页)。它是一个服务器。您应该使用一个简单的静态服务器,例如。谢谢。我尝试了那个新代码,但我得到了错误“无法连接到运行时进程;10000毫秒后超时”
{
    "version": "0.1.0",
    "configurations": [         
        {
            "name": "Launch index.html (disable sourcemaps)",
            "type": "chrome",
            "request": "launch",
            "sourceMaps": false,
            "file": "${workspaceFolder}/index.html"
        },
    ]
}