【发布时间】:2018-02-06 20:44:41
【问题描述】:
我有一个棘手的情况:我目前正在构建一个完整的流星功能应用程序。但出于自动化原因,我还需要将一些功能公开为 REST-Service(第三方应用程序应该能够通过 REST 插入和接收数据)。
express.js-package 似乎是将 REST 端点构建到 node.js 环境中的一个非常可靠的选择,但我想知道如何将此端点集成到流星中。
我想要的是通过例如http://myfancysite.com/my-display-route 访问“正常”站点,同时能够通过例如http://myfancysite.com/api/insert-crazy-data/ 访问我的 REST-Endpoint。
“正常”站点可通过启动 Meteor 时定义的端口访问。问题是,我必须为 express.js 指定 一个不同的端口 来监听,并且我希望两者——meteor 和 express——共享同一个端口,因为我不想访问 REST - 不同端口上的端点。
这有可能吗? :D
这是我目前用于 express 的一些代码。
//<meteor-root>\server\main.jsx
import { Meteor } from 'meteor/meteor';
// do some meteor things
...
//require express
var express = require('express');
//create application
var app = express();
//use environement defined port or 3000
var port = process.env.PORT || 3000;
//create router
var router = express.Router();
//define routes
...
//register all routes with '/api'
app.use('/api', router);
//start server
app.listen(port); // <= this should be the same port as the meteor application itself!
console.log('listening on port ' + port);
【问题讨论】:
标签: javascript node.js rest express meteor