All Projects → coderaiser → Join Io

coderaiser / Join Io

Licence: mit
join files on a fly to reduce requests count

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Join Io

Webauthn
W3C Web Authentication API Relying Party for Node.js and Express
Stars: ✭ 61 (-23.75%)
Mutual labels:  express, express-middleware
Host Validation
Express.js middleware for "Host" and "Referer" header validation to protect against DNS rebinding attacks.
Stars: ✭ 183 (+128.75%)
Mutual labels:  express, express-middleware
Vue Shoppingcart
ShoppingCart (Ecommerce) 🛒 Application using Vuejs, + Node.js + Express + MongoDB 🚀🤘
Stars: ✭ 141 (+76.25%)
Mutual labels:  express, express-middleware
Express Mysql Session
A MySQL session store for the express framework in node
Stars: ✭ 268 (+235%)
Mutual labels:  express, express-middleware
Celebrate
A joi validation middleware for Express.
Stars: ✭ 1,041 (+1201.25%)
Mutual labels:  express, express-middleware
Express Openapi Validator
🦋 Auto-validates api requests, responses, and securities using ExpressJS and an OpenAPI 3.x specification
Stars: ✭ 436 (+445%)
Mutual labels:  express, express-middleware
Express Basic Auth
Plug & play basic auth middleware for express
Stars: ✭ 241 (+201.25%)
Mutual labels:  express, express-middleware
Jebena
Lightweight JSON validation library
Stars: ✭ 56 (-30%)
Mutual labels:  express, express-middleware
Express Joi Validation
validate express application inputs and parameters using joi
Stars: ✭ 70 (-12.5%)
Mutual labels:  express, express-middleware
Express Jwt Authz
Validate the JWT scope to authorize access to an endpoint
Stars: ✭ 74 (-7.5%)
Mutual labels:  express
Mostly
They mostly come at night; mostly.
Stars: ✭ 78 (-2.5%)
Mutual labels:  express
React Hipstaplate
A ReactJS full-stack boilerplate based on typescript with ssr, custom apollo-server and huge stack of modern utilities which will help you to start your own project
Stars: ✭ 74 (-7.5%)
Mutual labels:  express
Typerx
A lightweight typescript annotation rest based extra (express、 mongoose、 angular、zorro、ng-alain ...).
Stars: ✭ 76 (-5%)
Mutual labels:  express
Cryptoenginex
Cryptocurrency Exchange Platform
Stars: ✭ 78 (-2.5%)
Mutual labels:  express
Vox
Simple and lightweight Go web framework inspired by koa
Stars: ✭ 74 (-7.5%)
Mutual labels:  express
New Egghead Downloader
New Egghead Downloader
Stars: ✭ 79 (-1.25%)
Mutual labels:  express
Node Express Postgresql Server
Basic Node with Express + PostgreSQL Server
Stars: ✭ 74 (-7.5%)
Mutual labels:  express
Mern Login Signup Component
Minimalistic Sessions based Authentication app 🔒 using Reactjs, Nodejs, Express, MongoDB and Bootstrap. Uses Cookies 🍪
Stars: ✭ 74 (-7.5%)
Mutual labels:  express
Xf wx
微信小程序+ 讯飞语音 实现个人语音助手
Stars: ✭ 79 (-1.25%)
Mutual labels:  express
Memorystore
express-session full featured MemoryStore layer without leaks!
Stars: ✭ 79 (-1.25%)
Mutual labels:  express

Join-io

Join files on a fly to reduce requests count.

Install

npm i join-io --save

How it works?

join-io it's middleware that works with streams: open files and pipe them to response one-by-one, when everything is done, stream is closing. join-io based on readPipe function of files-io.

jsDelivr works in similar way: load Multiple files with a single HTTP request.

How to use?

Join-io could be used as express middleware.

Client

<link rel="/join:/css/normilize.css:/css/style.css">
<script src="/join:/lib/client.js:/lib/util.js:/lib/jquery.js"></script>

Join.js

You could build join urls dynamically. Load /join/join.js library for this purpose.

<script src="/join/join.js"></script>
<script>
    join(['lib/client', 'lib/util.js']);
</script>

To decrease requests count you could make /join/join.js part of request:

<script src="/join:/lib/client.js:/lib/util.js:/join/join.js"></script>

Instead of /join you could use any prefix you like (don't forget to set it on the server side).

Server

const join = require('join-io');
const http = require('http');
const express = require('express');

const app = express();
const server = http.createServer(app);

const port = 1337;
const ip = '0.0.0.0';

app.use(join({
    dir: __dirname,
    prefix: '/join',    /* default */
}));

app.use(express.static(__dirname));

server.listen(port, ip);

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].