📅  最后修改于: 2023-12-03 15:30:00.428000             🧑  作者: Mango
cjs.js 是一个用于快速开发 Node.js 应用程序的开源 Javascript 库。它提供了大量可复用的模块和工具,使开发人员能够快速搭建可靠性高、高效性好的应用程序。
使用 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 文档 获取更多信息。
查看 示例代码 获取更多信息。