如何为Office.js加载项编写和测试动态服务器?

时间:2016-07-07 22:28:11

标签: node.js excel gulp ms-office office-js

我正在开发一个用于Excel的Office.js加载项,我对如何创建应用程序的服务器端并在localhost上测试它感到很遗憾。

我使用Yo Generator创建了加载项目/结构,我使用gulp在localhost(端口:8443)上测试它。使用这种方法,我能够成功加载我的加载项并测试客户端的加载项。此外,我已经测试了一个静态json文件的http请求,它工作正常。

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

我已经尝试使用代码bellow和node命令在另一个端口(端口:8000)上启动localhost服务器:

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 world\n");
}

https.createServer(httpsOptions, app).listen(8000);

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

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

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

请有人帮忙了解如何使其正常工作?

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

提前致谢。

1 个答案:

答案 0 :(得分:1)

首先,您无法同时在同一端口上侦听两台服务器。这就是您收到使用中地址错误的原因。

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