2

我正在按照教程在此处创建高级 Outlook 加载项(Git the Gist)

以上是使用YeomanMicrosoft Office Add-in Project Generator的node.js应用程序。要简单地启动加载项,您只需在根项目文件夹中键入“npm start”。

但是:我想在Visual Studio Code中调试加载项。

launch.json当你想调试一个项目时,VS Code 会自动创建一个文件。该文件如下所示:

 "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}\\bsconfig.json"
        }
    ]

但是,当我调试时,出现以下错误:

无法启动程序'c:\ZTesting\outlooktest\bsconfig.json';设置outFiles属性可能会有所帮助。

那么这些outFiles真的是问题吗?如果是的话,它们应该是什么?而且 - 如果不是 - 调试使用node.jsYeomanMicrosoft Office Add-in Project Generator创建的 Web 插件的解决方案是什么?

bsconfig.json文件如下所示:

{
    "ui": {
        "port": 3000
    },
    "server": {
        "routes": {
            "/node_modules": "node_modules"
        }
    },
    "https": {
        "key": "./certs/server.key",
        "cert": "./certs/server.crt"
    },
    "watch": true,
    "files": "*.*"
}
4

3 回答 3

2

我没有找到如何在 Visual Studio Code 中调试上面的加载项。但是,可以使用 Windows 10 中的 F12-developer-app 调试加载项。

您可以在此处找到有关 F12 应用程序的更多信息: 使用 Windows 10 中的 F12 开发人员应用程序调试加载项

于 2018-03-09T16:44:31.210 回答
1

我今天也有同样的问题。但是,如果 WIN10 F12-app 无法打开您的 html 文件,则有一种棘手的方法可以调试您的 Outlook 加载项。

在 Outlook 中调试加载项时,您可以使用 tbody.append 显示任何值

var tbody = $('.prop-table');
tbody.append(makeTableRow("asyncResult: ", item));
function makeTableRow(name, value) {
    return $("<tr><td><strong>" + name +
        "</strong></td><td class=\"prop-val\"><code>" +
        value + "</code></td></tr>");
}
于 2018-08-08T08:47:18.297 回答
0

我有同样的问题。根本原因是应用程序实际上并未在服务器上运行。npm start实际上运行一个单独的程序,称为 webpack。您可以通过打开 package.json 看到这一点。应该有如下一行:

"start": "webpack-dev-server --mode development --https --key ./certs/server.key --cert ./certs/server.crt --cacert ./certs/ca.crt --port 3000"

当您运行时npm start,它会在运行该行之前将 node_modules/.bin/ 添加到路径中。所以这个脚本实际上是在调用一个名为 node_modules/.bin/webpack-dev-server 的可执行文件。Webpack 不运行 index.js 中的任何代码。它“打包”代码,并通过 https 将其广播给客户端。

由于应用程序代码仅在客户端运行,因此只能在客户端进行调试。的使用npm start使您看起来像是在编写服务器代码,但加载项实际上是在客户端运行。

于 2018-07-17T22:44:39.577 回答