【发布时间】:2021-05-27 01:58:02
【问题描述】:
我们首先使用 node.js 开发了 REST api,并让它在 VPS 上运行。我们现在开发了一个 Angular Web 应用程序来显示通过移动应用程序传入的数据,该应用程序调用一些 REST API,然后通过回调其他 REST API 来更新数据。在 localhost 上运行 Angular 应用程序能够成功调用 REST api。
我们希望在同一台服务器上合并这两个应用程序。在四处搜索之后,似乎我们可以向 REST api server.js 添加命令,以将不符合 REST api 路径的 url 传递给 Angular。代码sn-p如下:
// API verison
var apiVersion = '/v1'
var fs ;
var https ;
// Dependencies
var express = require('express');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
// MongoDB
...
// Express
var app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
// Routes
app.use(apiVersion, require('./routes/api'));
// Start server
fs = require('fs')
https = require('https')
https.createServer({
key: fs.readFileSync('...'),
cert: fs.readFileSync('...')
}, app)
.listen(443, function () {
console.log('HTTPS Server running on default port 443')
});
// Pass request to angular?
app.use(function(req, res) {
var path = require('path');
res.sendfile(path.resolve('/home/.../index.html')); // but not getting anything
});
REST api 仍然有效,但是当将浏览器定向到“mydomain.net”时,我只是得到一个空白页面。我在节点/错误日志上看不到任何错误。
有什么想法吗?
【问题讨论】:
-
下面的答案有帮助吗?