4crud 中文文档教程

发布于 4年前 浏览 31 项目主页 更新于 3年前

4Crud

非常小(7kb)和快速的 Node.js 模块,用于 API 开发,使用 ES6 特性编写。

维护 点击数”></a> 
  <a href=npm

Getting Started

一个快速且非常小的 Node.js 框架,用于 API 开发,使用 javascript ES6 特性编写。

Prerequisites

  • nodejs 12.x +

Installing

npm install 4crud --save

Testing

中使用 Mocha-Chai 组合

npm test

该项目在 /test 文件夹或

node test/server.js

其他 cli 类型

curl localhost:3000/getroute1?name=john

curl -X POST -H "Content-Type: application/json" -d '{"name":"john","password":"abc"}' localhost:3000/postroute1

Features

  • Routing
  • Fast performance (Remember, ES6 have some intrinsic slowdowns but yes, it's fastest as express.js!)
  • Fast implementation on any type of API
  • Very small (just 7 KB!)

Example

const Server = require('../')
const server = new Server()

server
  // curl localhost:3000/getroute1?name=john
  .get('/route1', (req, res) => {
    console.log(`GET on route 1 with name: ${req.search.get('name')}`)
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end(JSON.stringify(req.url))
  })
  .get('/route2', (req, res) => {
    //console.log('GET on route 2')
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end('Hello')
  })
  // curl -X POST -H "Content-Type: application/json" -d '{"name":"john","password":"abc"}' localhost:3000/postroute1
  .post('/route1', (req, res) => {
    console.log(`POST route 1 with name ${req.body.name}`)
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end(JSON.stringify(req.body))
  })
  .post('/route2', (req, res) => {
    console.log('POST on route 2')
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end(JSON.stringify(req.body))
  })
  .put('/route1', (req, res) => {
    console.log('PUT on route 1')
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end(JSON.stringify(req.body))
  })
  .delete('/route2', (req, res) => {
    console.log(`DELETE on route 1 with name ${req.body.name}`)
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end(JSON.stringify(req.body))
  })
  .start(3000) // start server at port 3000

Express.js comparison

:下面的基准测试使用 wrk (https://github.com/wg/wrk/wiki/Installing-Wrk-on-Linux)

在您的首选上运行CLI on /test folder with server on:

wrk -t8 -c100 -d30s http://localhost:3000/getroute1
Framework Requests/second Size(kB)
Express 9404.79 200
4crud 19761.31 7

Running

npm start

Release History

  • 0.0.1
  • CHANGE: Work in progress
  • 0.1.0
  • Basic routing implemented
  • 0.1.5
  • File server example added
  • Bugs fixed
  • Benchmark corrected

Authors

  • GH3S - Initial work - gh3s@protonmail.ch

License

这个项目是根据 MIT 许可证获得许可的 - 请参阅 LICENSE 文件了解详细信息

Contributing

  1. Fork it (https://github.com/gh3s/4crud/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

4Crud

VERY SMALL (7kb) and fast Node.js module for API development written with ES6 features.

Maintenance HitCount npm

Getting Started

A fast and VERY SMALL Node.js framework for API development written with javascript ES6 features.

Prerequisites

  • nodejs 12.x +

Installing

npm install 4crud --save

Testing

This project uses Mocha-Chai combination in /test folder

npm test

or

node test/server.js

and in other cli type:

curl localhost:3000/getroute1?name=john

curl -X POST -H "Content-Type: application/json" -d '{"name":"john","password":"abc"}' localhost:3000/postroute1

Features

  • Routing
  • Fast performance (Remember, ES6 have some intrinsic slowdowns but yes, it's fastest as express.js!)
  • Fast implementation on any type of API
  • Very small (just 7 KB!)

Example

const Server = require('../')
const server = new Server()

server
  // curl localhost:3000/getroute1?name=john
  .get('/route1', (req, res) => {
    console.log(`GET on route 1 with name: ${req.search.get('name')}`)
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end(JSON.stringify(req.url))
  })
  .get('/route2', (req, res) => {
    //console.log('GET on route 2')
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end('Hello')
  })
  // curl -X POST -H "Content-Type: application/json" -d '{"name":"john","password":"abc"}' localhost:3000/postroute1
  .post('/route1', (req, res) => {
    console.log(`POST route 1 with name ${req.body.name}`)
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end(JSON.stringify(req.body))
  })
  .post('/route2', (req, res) => {
    console.log('POST on route 2')
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end(JSON.stringify(req.body))
  })
  .put('/route1', (req, res) => {
    console.log('PUT on route 1')
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end(JSON.stringify(req.body))
  })
  .delete('/route2', (req, res) => {
    console.log(`DELETE on route 1 with name ${req.body.name}`)
    res.statusCode = 200
    res.setHeader('Content-Type', 'application/json')
    res.end(JSON.stringify(req.body))
  })
  .start(3000) // start server at port 3000

Express.js comparison

Bellow the benchmark uses wrk (https://github.com/wg/wrk/wiki/Installing-Wrk-on-Linux)

Run on your preferred CLI on /test folder with server on:

wrk -t8 -c100 -d30s http://localhost:3000/getroute1
Framework Requests/second Size(kB)
Express 9404.79 200
4crud 19761.31 7

Running

npm start

Release History

  • 0.0.1
  • CHANGE: Work in progress
  • 0.1.0
  • Basic routing implemented
  • 0.1.5
  • File server example added
  • Bugs fixed
  • Benchmark corrected

Authors

  • GH3S - Initial work - gh3s@protonmail.ch

License

This project is licensed under the MIT License - see the LICENSE file for details

Contributing

  1. Fork it (https://github.com/gh3s/4crud/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request
更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文