@millionfor/io
v2.0.3
Published
generic io toolchain both for browser and node
Maintainers
Readme
@millionfor/io
Generic IO toolchain for both browser and Node.js environments.
Features
- 🚀 Multi-environment support: Works in ES5, ES6, and TypeScript environments
- 🌐 Cross-platform: Browser and Node.js compatibility
- 📡 HTTP client: Built on top of axios
- 🔄 JSONP support: Cross-origin requests in browsers, HTTP fallback in Node.js
- 📦 Multiple formats: ES modules, CommonJS, UMD, IIFE, and ES5 compatible builds
Installation
npm install @millionfor/ioUsage
ES6/ES2015+ Environment
// ES modules
import io from '@millionfor/io';
// CommonJS
const io = require('@millionfor/io');
const instance = io.create();ES5 Environment (Legacy Browsers)
// Use ES5 compatible build
import io from '@millionfor/io/es5';
// Or in CommonJS
const io = require('@millionfor/io/es5');
const instance = io.create();UMD (Universal Module Definition)
// AMD
define(['@millionfor/io/umd'], function(io) {
const instance = io.create();
});
// Global variable (browser)
const instance = Io.create();IIFE (Immediately Invoked Function Expression)
<script src="@millionfor/io/iife"></script>
<script>
const instance = Io.create();
</script>API Examples
HTTP Requests
const instance = io.create({
baseURL: 'https://api.example.com',
timeout: 5000
});
// GET request
instance.get('/users')
.then(data => console.log(data))
.catch(err => console.error(err));
// POST request
instance.post('/users', { name: 'John', email: '[email protected]' })
.then(data => console.log(data))
.catch(err => console.error(err));JSONP (Browser) / HTTP (Node.js)
// In browser: uses JSONP
// In Node.js: uses HTTP request
instance.jsonp('https://api.example.com/data', {
current: 1,
pageSize: 100
})
.then(data => console.log(data))
.catch(err => console.error(err));Configuration
const instance = io.create({
baseURL: 'https://api.example.com',
timeout: 10000,
headers: {
'Authorization': 'Bearer token'
},
resolveURL: (url) => `/api/v1${url}`,
cbSuccess: (data) => data.code === 0
});Build Outputs
The package provides multiple build formats:
io.es.js- ES modules (ES6+)io.cjs.js- CommonJS (Node.js)io.umd.js- UMD (Universal)io.iife.js- IIFE (Browser global)io.es5.js- ES5 compatible (Legacy browsers)
Browser Support
- Modern browsers: Chrome 50+, Firefox 50+, Safari 10+, Edge 12+
- Legacy browsers: IE 9+, Chrome 30+, Firefox 30+, Safari 8+
- Mobile: Android 4.4+, iOS 8+
Node.js Support
- Node.js: 8.0.0+
Development
# Install dependencies
npm install
# Build all formats
npm run build
# Build ES5 only
npm run build:es5
# Build modern formats only
npm run build:modern
# Type checking
npm run type-check
# Clean build directory
npm run cleanLicense
MIT License
