Express简单起一个本地服务接口

有时候我们开发过程中,需要一个接口调试,但是又不想很麻烦的要一个后台,就想很快的简单的有一个接口。今天分享使用node的express很简单的起一个服务。当然,express不会扩展,因为本人也不会。

新建一个目录,然后npm init -y,-y是少了询问的步骤;

Npm init express -D 下载express模块;

新建一个server.js;

接下来就是书写代码了:

let express = require('express');

let app =express();

 

//设置跨域访问

app.all('*', function (req, res, next) {

  res.header('Access-Control-Allow-Origin', 'http://test.test.com:8080');

  res.header('Access-Control-Allow-Credentials', true);

  res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length, Authorization, Accept,X-Requested-With')

  res.header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS');

  res.header('Content-Type', 'application/json;charset=utf-8');

  next()

});

 

let data = {

    name: 'wade',

    age: 18,

};

 

let api = '/api/user';

 

app.get(api, (req, res) => {

    res.send(data);

});

 

//配置服务端口

var server = app.listen(8000, () => {

    console.log( `localhost:8000${api}`);

});

代码很简单,几乎都不需要讲解,然后直接就node server.js,浏览器直接访问localhost:8000/api/user。使用ajax或者是axios直接请求这个地址。

Post的话直接把get改成post就可以了。

这边需要讲解几个跨域的问题。

一般我们允许跨域是这样设置的:

res.header(‘Access-Control-Allow-Origin’, ‘*’);

如果出现报错跨域:XMLHttpRequest is controlled by the withCredentials attribute.

是因为我们请求的时候设置了允许携带cookie,CORS请求默认不发送Cookie和HTTP认证信息。如果要把Cookie发到服务器,要服务器同意,指定Access-Control-Allow-Credentials字段,表示是否允许发送Cookie。

需要注意的是,如果要发送Cookie,Access-Control-Allow-Origin就不能设为星号,必须指定明确的、与请求网页一致的域名。类似这样:

res.header(‘Access-Control-Allow-Credentials’, true);

res.header(‘Access-Control-Allow-Origin’, ‘http://test.test.com:8080’);

协议、域名、端口都需要。

欢迎关注Coding个人笔记公众号

猜你喜欢

转载自blog.csdn.net/wade3po/article/details/88099698