
nodejs
Z网球
这个作者很懒,什么都没留下…
展开
-
electron安装+vue实现录屏的的demo
github地址:https://github.com/zengwangqiu/electron-vue安装electron最好采用cnpm主进程main/index.tsimport path from "path";import window from "./window";import { dialog, app, ipcMain, globalShortcut, Notification, shell, screen } from "electron";let mainWindow:原创 2020-05-09 17:20:16 · 7833 阅读 · 6 评论 -
vscode中typescript的相关配置
typescript中别名(alias),jest,ts-node,apidoc等相关配置及示例如何配置别名原创 2022-11-17 14:36:41 · 1213 阅读 · 0 评论 -
关于JavaScript中reduce的使用场景
(花色简称: 红桃-H, 梅花-C, 方块-D,黑桃-S)定义一个函数,让用户选择两张扑克牌, 函数返回所有可能的顺子组合, 如果能形成同花顺,在开始前打印(SF).然后计算每一种顺子不同花色的排列组合;顺子的长度相当于for循环的层数 ,也就是递归的次数;,利用reduce去递归,比起正常递归调用,思路更加清晰, 每一步结果一个自动传下去;打印结果: SF->DA, D2, D3, D4, D5。顺子固定长度为5张牌,不用考虑K之后到A的情况。是从1开始的,而不是0开始。顺子就是一个排列组合问题,原创 2022-11-14 11:59:30 · 719 阅读 · 0 评论 -
typescript中interface和type学习
如果一个值是联合类型,我们只能访问此联合类型的所有类型的共有属性。原创 2022-10-19 19:06:33 · 2560 阅读 · 0 评论 -
Token刷新处理
【代码】Token刷新处理。原创 2022-10-17 16:59:42 · 192 阅读 · 0 评论 -
关于WeakMap的使用
es6 WeakMap的使用原创 2022-09-08 16:17:24 · 213 阅读 · 0 评论 -
Promise/A+实现Promise
const PENDING = 'PENDING';const FULFILLED = 'FULFILLED';const REJECTED = 'REJECTED';const resolveMyPromise = ( myPromise: MyPromise, x: any, resolve?: (result: any) => void, reject?: (err?: any) => void,) => { // 如果 x === myPromise,则会造成循原创 2022-03-04 19:29:32 · 217 阅读 · 0 评论 -
关于typescript的类型定义
关于typescript的类型定义的学习心得原创 2021-12-29 17:49:36 · 790 阅读 · 0 评论 -
koa响应http流
koa2中的如果所有中间件走完 没有设置ctx.body则会响应404import recorders from '../../recorder';import { IMiddleware } from 'koa-router';import https from 'https'; const getStreamTexts: IMiddleware< any, { query: { envName: string; streamId: string; startI原创 2021-08-30 18:33:00 · 842 阅读 · 0 评论 -
nodejs中箭头函数、定时器以及普通函数中的this指向
this相当于某个作用域的上下文;bind(this)相当于在运行时传入一个上下文替换原有this;而箭头函树相当于在函数作用域内锁定上下文this;class A { public name: string; constructor() { this.name = 'a'; } public a() { console.log(this.name); }}class B { public name: string; constructor() { this.name原创 2021-07-06 17:17:05 · 451 阅读 · 0 评论 -
nodejs使用promise和process.nextTick实现暂停
export default class A { public Resume: () => void; public Paused: Promise<void>; constructor() { } public Start() { process.nextTick(async () => { await (this.Paused || Promise.resolve()); console.log('runing job'); // 此处必须要用set原创 2021-06-03 16:54:03 · 609 阅读 · 0 评论 -
nodejs按固定大小读取文件
1.流式读取:const readstream = fs.createReadStream('test.mp4'); let i = 0; console.time('readtime'); readstream.on('readable', () => { let chunk = readstream.read(8192 * 1024); while (null !== chunk) { console.log(`file${++i} md5: ${md5(chunk)}`);原创 2021-01-13 13:59:00 · 1148 阅读 · 0 评论 -
ioredis自定义函数以及在ts声明文件库添加声明
在incude中添加声明文件夹:types/*添加ts的配置文件:// tsconfig.json{ "compilerOptions": { "experimentalDecorators": true, "module": "commonjs", "esModuleInterop": true, "allowSyntheticDefaultImports": true, "target": "es6", "noImplicitAny": true, "moduleRe原创 2020-07-15 16:36:10 · 828 阅读 · 0 评论 -
WebAssembly之js调用c/c++代码
安装emscriptenwindows系统 建议采用wsl安装比较方便;示例test.c:#include <stdio.h>#include <emscripten/emscripten.h>int EMSCRIPTEN_KEEPALIVE myFunction(int argc, char **argv){ printf("这是一个测试函数\n"); return 0;}编译: 会生成test.js test.wasm;(详细编译命令看官网) emc原创 2020-05-22 12:25:14 · 1637 阅读 · 0 评论 -
使用ffmpeg将rtmp流转成hls,使用video.js播放
服务端 ts-node server.tsserver.tsimport express from 'express';const app = express();app.all('*', (req, res, next) => { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length, Authoriz原创 2020-05-09 16:49:01 · 2237 阅读 · 2 评论 -
使用request模块上传文件
const Promise = require('bluebird');const request = Promise.promisify(require('request'));const fs = require('fs');const getFileHash = function (filepath, type, start, end) { return new Promis...原创 2019-03-22 19:34:01 · 2916 阅读 · 0 评论 -
nodejs发送邮件
var nodemailer = require("nodemailer");// 1. 开启一个smtp连接var smtpTransporter = nodemailer.createTransport({ host: "smtp.qq.com", // 主机 secureConnection: true, // 使用 SSL加密 port: 465, // SMTP 端口...原创 2018-12-25 13:56:19 · 552 阅读 · 0 评论 -
formidable实现文件上传
1.创建app.js主文件const express = require('express');const router = require('./router');const path = require('path');const bodyParser = require('body-parser');const app = express();//静态资源服务app.use...原创 2018-12-25 14:01:45 · 2449 阅读 · 0 评论 -
sequelize参考
快速入门、Sequelize类Sequelize类是引用sequlize模块后获取一个顶级对象,我们通过它来创建sequlize实例,也可以通过该对象来获取模内其它对象的引用,如:Utils工具类、Transaction事务类等。创建实例后,可以通过实例来创建或定义Model(模型)、执行查询、同步数据库结构等操作。注释:mysql的引擎模块名是: mysql2Model 的定义、...转载 2018-12-26 09:48:25 · 970 阅读 · 0 评论 -
nodejs创建流
CountStream.jsconst Writable = require("stream").Writable;const util = require("util");module.exports = CountStream;util.inherits(CountStream, Writable);function CountStream(matchText, option) ...原创 2018-12-26 09:47:57 · 534 阅读 · 0 评论 -
socket.io创建聊天系统
&lt;&gt;在线聊天系统&lt;&gt;[service]var express = require('express');var app = express();var http = require('http').Server(app);var io = require('socket.io')(http);app.get('/', function (req, res) {...转载 2018-12-26 09:52:08 · 214 阅读 · 0 评论 -
nodejs创建静态文件服务
//完整静态服务const connect = require('connect');const servestatic = require('serve-static');const app = connect();app.use(servestatic(__dirname+&amp;quot;/public&amp;quot;));// servestatic(静态文件的入口目录)app.listen(3000);...原创 2018-12-26 09:51:20 · 626 阅读 · 0 评论 -
在express中创建https的服务
生成证书;openssl genrsa 1024 &gt; ./private.pem #生成私钥key文件openssl req -new -key ./private.pem -out csr.pem #通过私钥文件生成CSR证书签名openssl x509 -req -days 365 -in csr.pem -signkey ./private.pem -out ./file....原创 2018-12-26 09:50:23 · 1426 阅读 · 0 评论 -
nodej获取本IP
//获取本机ipconst getLocalIP = function () { const os = require('os') var ifaces = os.networkInterfaces(); var ip = ''; for (var dev in ifaces) { ifaces[dev].forEach(function (details) { ...原创 2019-01-14 10:27:05 · 210 阅读 · 0 评论 -
nodejs打开默认浏览器
//打开默认浏览器const openDefaultBrowser = function (url) { var exec = require('child_process').exec; console.log(process.platform) switch (process.platform) { case "darwin": exec('open ' + ...转载 2019-01-14 10:28:26 · 5332 阅读 · 0 评论 -
nodejs自动分配端口
var server = http.createServer();server.listen(0);server.on('listening', function() { var port = server.address().port; console.log(port);})原创 2019-01-14 10:30:41 · 2130 阅读 · 1 评论 -
手动封装Promisify
错误优先的回调函数转Promise函数function Promisify(cbFunc) { return function (...args) { return new Promise((resolve, reject) => { cbFunc.call(this, ...args, function (...a) { ...原创 2019-03-22 19:10:32 · 368 阅读 · 0 评论 -
nodejs----JSON中存在大数字时
let bigNumJSON = JSON.stringify({"a":"test","b":635241345853678786253})bigNumJSON = bigNumJSON.replace(/:(\d+)/g, `:"$1"`)bigNumJSON = JSON.parse(bigNumJSON)原创 2019-03-22 19:24:26 · 1389 阅读 · 1 评论 -
nodejs把文件按字节分割
function fileSplit(inputFile, splitSize, outPath, ext) { let i = 0 function copy(start, end, size) { return new Promise((resolve, reject) => { if (start >= size) { ...原创 2019-03-22 19:27:48 · 1621 阅读 · 0 评论 -
nodejs创建http或https请求
nodejs创建http或https请求 createRequest.jsmodule.exports = function (options = {}) { options.data = options.data || {}; return new Promise((resolve,reject) => { const http = require('http');原创 2018-02-01 14:20:41 · 4971 阅读 · 0 评论