如果我的 AngularJS 应用程序由 WebStorm 以外的服务器提供服务,我该如何使用 WebStorm 调试它?

How can I debug my AngularJS application with WebStorm if it is served by a server other than WebStorm?

假设我使用以下 gulp 任务来为我的网站提供服务:

gulp.task("server", ['build'], function () {
    $.util.log($.util.colors.green("Server started at http://localhost:" + 4000));
    server.listen(PORT);

    open("http://localhost:" + PORT);
});

这是服务器代码:

server.get("*", function(req, res){
    var base = __dirname + "/dist";
    var path = base + decodeURIComponent(req.path);
    console.log(path);
    try{
        var stat = fs.lstatSync(path);

    }
    catch(e){
        res.sendFile('index.html', { root: base });
        return;
    }
    if(stat.isFile())
        res.sendFile(path);
    else{
        res.sendFile('index.html', { root: base });
    }
});

我想知道如何为我的应用程序使用 WebStorm 调试器?

转到 Run/Debug 配置并在 WebStorm 中设置新的 Gulp 配置。这可以在 运行 > 编辑配置...

下找到

设置配置后,选择该配置后,只需单击调试(运行 > 调试或 Shift + F9)。

我们可以在 IDEA 和 PyCharm 中使用它,所以我假设它在 WebStorm 中可用。您可能需要安装 Gulp 插件,但我没有为 IDEA 安装。

您要调试的是什么 - 您的 angular 应用程序,还是托管它的服务器? 要调试服务器端代码,您需要使用 Node.js 运行 配置(参见 https://blog.jetbrains.com/webstorm/2014/05/guide-to-node-js-development-with-webstorm/, https://confluence.jetbrains.com/display/WI/Running+and+debugging+Node.js+application#RunninganddebuggingNode.jsapplication-DebuggingNode.jsapplocally

要调试客户端,您必须创建 JavaScript Debug 运行 配置,指定 URL 的 Node.js 服务器(http://localhost:4000,或任何它是什么),添加远程 URL 映射(如果需要)- 参见 https://confluence.jetbrains.com/display/WI/Starting+a+JavaScript+debug+session#StartingaJavaScriptdebugsession-Startingadebugsessionwhenusingadifferentwebserver