我正在开发一个用于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)
请有人帮忙了解如何使其正常工作?
如果需要任何进一步的信息,请告诉我。
提前致谢。
答案 0 :(得分:1)
首先,您无法同时在同一端口上侦听两台服务器。这就是您收到使用中地址错误的原因。
其次,我处于类似于你的情况,我的想法是,要走的路是编写一个提供API的服务器(例如REST)。然后,加载到办公室的javascript代码(对于你的yo办公室生成的项目中的App.js的初学者)向这个API发出请求。