📜  cjs.js - Javascript (1)

📅  最后修改于: 2023-12-03 15:30:00.428000             🧑  作者: Mango

cjs.js - Javascript

cjs.js 是一个用于快速开发 Node.js 应用程序的开源 Javascript 库。它提供了大量可复用的模块和工具,使开发人员能够快速搭建可靠性高、高效性好的应用程序。

特性
  • 提供了大量可复用的模块,包括文件系统、网络、加密、缓存等;
  • 提供了强大的模块管理工具,方便快速安装、管理和升级模块;
  • 提供了完整的 API 文档和示例代码,降低学习曲线;
  • 兼容 CommonJS 规范,可在 Node.js 环境中无缝使用。
安装

使用 npm 安装:

npm install cjs.js
使用

在应用程序中引入 cjs.js 模块:

const cjs = require('cjs.js');
文件系统模块
// 读取文件
const content = cjs.fs.readFile(__dirname + '/index.html', 'utf8');

// 写入文件
cjs.fs.writeFile(__dirname + '/index.html', 'Hello World!\n', (err) => {
  if (err) throw err;
  console.log('写入完成');
});
网络模块
// HTTP GET 请求
cjs.http.get('http://example.com/', (res) => {
  console.log(`状态码: ${res.statusCode}`);
  console.log(`响应头: ${JSON.stringify(res.headers)}`);
  res.on('data', (chunk) => {
    console.log(`响应正文: ${chunk}`);
  });
});

// HTTP POST 请求
const postData = querystring.stringify({
  'msg': 'Hello World!'
});

const options = {
  hostname: 'www.google.com',
  port: 80,
  path: '/upload',
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length': Buffer.byteLength(postData)
  }
};

const req = cjs.http.request(options, (res) => {
  console.log(`状态码: ${res.statusCode}`);
  console.log(`响应头: ${JSON.stringify(res.headers)}`);
  res.setEncoding('utf8');
  res.on('data', (chunk) => {
    console.log(`响应正文: ${chunk}`);
  });
});

req.on('error', (e) => {
  console.error(`请求遇到问题: ${e.message}`);
});

// 写入数据到请求主体
req.write(postData);
req.end();
加密模块
// 生成 RSA 密钥对
const { publicKey, privateKey } = cjs.crypto.generateKeyPairSync('rsa', {
  modulusLength: 4096,
  publicKeyEncoding: {
    type: 'spki',
    format: 'pem'
  },
  privateKeyEncoding: {
    type: 'pkcs8',
    format: 'pem',
    cipher: 'aes-256-cbc',
    passphrase: 'top secret'
  }
});

// 使用私钥签名
const sign = cjs.crypto.sign('sha256', Buffer.from('Some data to sign'), {
  key: privateKey,
  passphrase: 'top secret'
});

// 使用公钥验证
const verify = cjs.crypto.verify('sha256', Buffer.from('Some data to sign'), {
  key: publicKey
}, sign);

console.log(verify); // true
缓存模块
// 创建缓存
const cache = cjs.cache.create();

// 缓存一条数据
cache.set('foo', 'bar');

// 读取数据
console.log(cache.get('foo')); // 'bar'

// 清空缓存
cache.clear();
API 文档

查看 API 文档 获取更多信息。

示例代码

查看 示例代码 获取更多信息。