使用Express.JS来使用API

Oni*_*ion 5 javascript api json node.js express

var express = require('express');
var app = express();
var path = require('path');
var api = require('./api');


app.get('/', function(req, res){
res.sendFile(path.join(__dirname + '/index.html'));
})


app.listen(8080)
console.log('Server Running');
Run Code Online (Sandbox Code Playgroud)

我知道我们需要快递模块.我们正在使用express函数,我们需要模块路径并将引用存储在变量路径中并对api执行相同操作但超出此范围我有点迷失.如果我想连接到twitter API,我该怎么做呢?有人可以解释它背后的逻辑,这样我就可以更好地学习这个并用自己的不同API来应用它吗?我真诚地非常感谢你的帮助!

Yer*_*ken 7

Express是用于组织Web应用程序服务器的框架.您打开某些API路由以侦听路径并在必要时响应请求.

您可以打开API仅供内部使用,即来自运行您应用的浏览器的调用.或者你可以将你的API暴露给外部世界(例如twitter API正在这样做).

要连接到Twitter API,您需要从您的网络服务器发出传出请求.有很多方法可以解决这个问题,从本地nodeJS包http https://nodejs.org/api/http.html开始,到更受欢迎的替代方法request https://github.com/request/request

这里要注意的一点是,NodeJS Web服务器通常比其他语言服务器的限制性更小,特别是在组织应用程序和代码体系结构时.因此对初学者来说有更多问题.随意提出更多问题.

应用程序的主要目的

是听路由(它也用于渲染页面,添加中间件等),只有那样.

因此,假设您的UI上有一个按钮,允许您连接到Twitter API.因此,在单击时,您向自己的服务器发出GET请求/api/twitter/connect.在您的服务器上,您可以按如下方式在此路径上进

var request = require('request'); //assuming you installed this module
app.get('/api/twitter/connect', function(req, res){
  request(TWITTER_API_URL + API_KEYS, function(err, body){
      res.json(body); //res is the response object, and it passes info back to client side
  });
});
Run Code Online (Sandbox Code Playgroud)