如何编写和测试 Office.js 外接程序的动态服务器



我正在为 Excel 开发一个 Office.js 加载项,我对如何创建应用程序的服务器端并在 localhost 上进行测试有点迷茫。

我已经使用 Yo 生成器创建了加载项项目/结构,并且我正在使用 gulp 在本地主机(端口:8443)上对其进行测试。使用这种方法,我能够成功加载我的加载项并测试其客户端。另外,我已经测试了对静态json文件的http请求,它工作正常。

问题是我需要在服务器端运行代码来处理文件并进行一些处理,而我根本找不到一种方法来做到这一点。

我已经尝试使用代码 bellow 和 node 命令在不同的端口(端口:8000)上启动本地主机服务器:

var https = require('https');
var fs = require('fs');
var httpsOptions = {
    key:  fs.readFileSync('key.pem'),
    cert: fs.readFileSync('cert.pem')
};
var app = function (req, res) {
  res.writeHead(200);
  res.end("hello worldn");
}
https.createServer(httpsOptions, app).listen(8000);

服务器启动正常,但由于我的应用程序在端口:8443上运行,我无法执行跨源请求(我知道这在生产环境中也不起作用)。

我还尝试使用 gulp serve-static 命令在端口:8443 上启动加载项服务器,然后使用 node 命令启动侦听同一端口:8443 的服务器,但这会导致以下错误:

错误:侦听 EADDRINUSE 127.0.0.1:8443 在Object.exports._errnoException (util.js:870:11) 在exports._exceptionWithHostPort (util.js:893:20) 在Server._listen2 (净.js:1234:14) 收听时(净.js:1270:10) 在净.js:1379:9 at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:64:16) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:83:10)

有人可以帮忙如何让它工作吗?

如果需要任何进一步的信息,请告诉我。

提前谢谢。

首先,不能让两台服务器模拟侦听同一端口。这就是您收到"使用中的地址"错误的原因。

其次,我和

你一样处于类似的情况,我的想法是,要走的路是编写一个提供 API(例如 REST)的服务器。然后,加载到办公室的 JavaScript 代码(对于初学者来说,应用程序.js在你的 yo office 生成的项目中)向这个 API 发出请求。

最新更新