Naively Programmable Module
    Wondering what’s next for npm?Check out our public roadmap! »

    noapi

    2.2.2 • Public • Published

    Noapi

    A high-performance and easy-to-use web API framework for Node.js. Noapi loads directory "biz" as a web API server, each file in it defines and handles an API, so that you can focus on writing business function code. Noapi is simple enough that you just take it "out of the box".

    Install

    npm install noapi --save

    TRY IT! (in under 3 minutes)

    0. Initialize a demo project

    mkdir ./noapi-demo && cd ./noapi-demo
    npm init -y
    npm install noapi --save

    Create the core directory "biz"

    mkdir biz

    1. Create a biz file

    Create file "./biz/say/hi.js". It defines an api "/say/hi" and handles it.

    module.exports = async (name, age) => {
        return {msg: `Hi, I am ${name}${age} years old.`};
    };

    2. Create index.js

    require('noapi')();

    3. Run

    node index.js
    Server default is listening on port 3000

    Visit the url http://localhost:3000/say/hi?age=100&name=owen to see the result:

    {
        "success": true,
        "data": {
            "msg": "Hi, I am owen, 100 years old."
        }
    }

    The order of the parameters in the url can be arbitrary.

    Examples

    Options

    It can be omitted if it is the default value as below.

    const name = 'default';
    const dir = './biz';
    const host = 'localhost';
    const port = 3000; 
    const isSilence = false;
     
    // The number and order of parameters can be arbitrary
    noapi(name, dir, host, port, isSilence);
     
    // It is equivalents to:
    //     const options = {
    //         name: 'default',
    //         dir: './biz',
    //         host: 'localhost',
    //         port: 3000,
    //         isSilence: true,
    //     };
    //
    //     noapi(options);

    See "examples/99-options" to learn about it.

    Biz directory

    Each file in the biz directory defines and handles an API. All files in the biz directory make up the API list.

    /root
        /biz
            /say
                hi.js       // api: /say/hi
            about.js        // api: /about
         
        index.js    

    If there are some non-api files (only be used internally) in the biz directory, this will make the API list unclear. Then you should use the api directory, just create an empty file (or with the description of this api) to define an api. See "examples/05-api-directory".

    /root
        /api
            /say
                hi.js       // api: /say/hi
            about.js        // api: /about
     
        /biz
            /__lib
            /say
                /__lib
                hi.js   
                tools.js    // non-api
                check.js    // non-api
            about.js       
            init.js         // non-api
            
        index.js

    Performance

    Noapi is a high-performance web API framework, faster than Koa, Express. See API Framework Performance PK

    Test

    git clone https://github.com/hiowenluke/noapi
    cd noapi
    npm install
    npm test

    License

    MIT

    Copyright (c) 2019, Owen Luke

    Install

    npm i noapi

    DownloadsWeekly Downloads

    5

    Version

    2.2.2

    License

    MIT

    Unpacked Size

    54.9 kB

    Total Files

    72

    Last publish

    Collaborators

    • avatar