New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

express-api-require

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

express-api-require

基于express的请求接口调用

latest
Source
npmnpm
Version
0.0.2
Version published
Weekly downloads
6
Maintainers
1
Weekly downloads
 
Created
Source

express-api-require

基于express的请求接口调用,把 *.json 定向到 *.js 里,以中间件形式写响应代码~

使用

安装

npm install express-api-require

运行

app.js

const express = require('express')
const app = express()
const api = require('express-api-require')

// 注入
app.use(api({
    root: __dirname,
    process(req, res, next) {
        res.set('Access-Control-Allow-Origin', '*');
    }
}))

// 托管静态文件
app.use(express.static('./'))

app.listen(3000, () => console.log('Example app listening on port 3000!'))

/api/api.js

module.exports = (req, res, next) => {
    const data = {
        status: 'ok'
    }
    res.end(JSON.stringify(data))
}

/api/data.json

{}
请求路径说明
/api/data.json因为真实文件存在,使用 express.static 直接响应
/api/api.json因为真实文件不存在,而 api.js 存在,走中间件模式
/api/404.json因为真实文件不存在,又没有找到 404.js ,走 next()

扩展

支持配合其他中间件形式去处理响应,如配合 res-json 支持响应 JSON 和 JSONP 数据:

const express = require('express')
const app = express()
const api = require('express-api-require')
const json = require('res-json')

// 注入 res.json, res.jsonp 方法
app.use(json())

// 注入
app.use(api({
    root: __dirname
}))

配置

名称类型说明默认值
rootstring请求根目录process.cwd()
filterFunctionrequest 过滤器,返回 false 时将直接 next() 该请求return true
extMapObject请求扩展名映射{json: 'js'}
processFunction预处理器,当返回 false 时停止处理
注意,该处理只在中间件文件或者真实 JSON 文件存在时注入
-

License

MIT

Keywords

express

FAQs

Package last updated on 25 Apr 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts