
Nodejs
nodejs
LetsStudy
The growth of age will not be a hindrance to study.
展开
-
6.0 (0,fn)(args)写法
(0,fn)(args)原创 2022-12-28 11:21:57 · 156 阅读 · 0 评论 -
5.9 关于自执行函数使用产生的问题
箭头函数结合promise转同步的问题原创 2022-08-10 16:57:45 · 153 阅读 · 0 评论 -
5.8 ?. ?? ??=用法
一、?.用法二、?? 三、??=原创 2022-06-10 14:39:21 · 110 阅读 · 0 评论 -
5.7 call bind apply的使用
1、先看示例const a = function (pars){ console.log(pars)}function f(){ return a.apply(a,arguments)}function g(){ return a.bind(a,...arguments)()}function e(){ return a.call(a,...arguments)}f('apply')g('bi','nd')e('call')/**output:原创 2022-04-12 15:44:22 · 329 阅读 · 0 评论 -
5.6 worker_threads并发示例
1、run.jsconst { Worker } = require('worker_threads')const configs = require('../../config/config').configconst pass_share = new SharedArrayBuffer(4)const failed_share = new SharedArrayBuffer(4)const status = new SharedArrayBuffer(4)const on_off = n原创 2022-03-23 15:43:50 · 694 阅读 · 1 评论 -
5.5 tls简单使用
1、生成服务器证书,服务器使用自签名证书 openssl genrsa -outserver-key.pem 2048 openssl req -new-sha256 -key server-key.pem -outserver-csr.pem //在CN处填写服务器主机名localhost openssl x509 -req -inserver-csr.pem -signkey server-key.pem -outserver-cert.pe...原创 2022-03-18 17:45:30 · 675 阅读 · 0 评论 -
5.4 nodejs监听键盘事件
1、代码示例/*** str是用户键盘输入* key是用户输入key的对象,str === key.name* key.ctrl和key.shift默认都是false* 只有当key.ctrl为true,才会达到组合效果 */const readline = require('readline');readline.emitKeypressEvents(process.stdin);process.stdin.setRawMode(true);process.stdin原创 2022-03-18 16:04:04 · 4289 阅读 · 5 评论 -
5.3 unicode和字符串相互转换
1、代码示例let str = 'hello china'let temp = []for(let i = 0; i < str.length; i++){ let char = str.charCodeAt(i) //转换为16进制unicode console.log('\\u' + char.toString(16)) temp.push(char)}temp.forEach(function (item){ //String.fromCha原创 2022-03-15 18:21:28 · 1455 阅读 · 0 评论 -
5.2 使用worker_thread进行并发
1、worker_thread通过ShareArrayBuffer或者ArrayBuffer来实现共享内存ArrayBuffer本质上是通过postMessage()内存移动的方式来使各个worker之间共享数据的,但是一旦转移后,其他的worker就不能使用,也就是同一时间,只能有个worker拿到这块内存区域示例如下run.jsconst {Worker, MessageChannel} = require('worker_threads')const array = new Ar原创 2022-03-11 15:33:04 · 1167 阅读 · 0 评论 -
5.1 worker_thread通信
1、简单示例run.jsconst { Worker} = require('worker_threads');const worker1 = new Worker('./worker1.js');const worker2 = new Worker('./worker2.js');worker1.postMessage('here is father')worker1.on('message',function (msg){ console.log(msg)})wo原创 2022-03-10 14:53:12 · 516 阅读 · 0 评论 -
5.0 DataView使用说明
1、ArrayBuffervar buffer = new ArrayBuffer(2);//向内存申请5个字节的空间,一个字节占8位,也就是2*8=16位2、DataViewvar dataview = new DataView(buffer);//创建dataview视图指向该内存区域dataview.setInt8(0,'100')dataview.setInt8(1,'104')//100和104二进制均是8位console.log(dataview.getInt8(0))原创 2022-02-23 15:18:41 · 2832 阅读 · 0 评论 -
4.9 commander.js
github:https://github.com/tj/commander.js/blob/master/examples/arguments.js原创 2022-02-22 14:21:58 · 103 阅读 · 0 评论 -
4.8 inquirer-autocomplete-prompt
示例:https://github.com/mokkabonna/inquirer-autocomplete-prompt/blob/master/example.js转载 2022-02-22 14:07:09 · 225 阅读 · 0 评论 -
4.7 Inquirer.js使用示例
使用文档:https://github.com/SBoudrias/Inquirer.js示例链接:https://github.com/SBoudrias/Inquirer.js/tree/master/packages/inquirer/examples转载 2022-02-22 14:05:40 · 236 阅读 · 0 评论 -
4.6 Lodash 使用文档
文档链接:https://www.lodashjs.com/转载 2022-02-22 10:23:22 · 460 阅读 · 0 评论 -
4.4 eval函数替代Function
文档地址:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/evallet text = 'hello world'eval("!function x(){console.log(`${text}`)}()");Function(!function x(){console.log(`${text}`)}())()//上面两条语句的执行结果是一致的,eval不建议使用...原创 2022-02-21 17:56:17 · 602 阅读 · 0 评论 -
4.3 shelljs的使用
github:https://github.com/shelljs/shelljs使用起来比较简单//exampleconst shell = require('shelljs')shell.mkdir('./test')shell.cd('./test')shell.touch('hello.js')shell.exec( "echo console.log('hello world') >> hello.js")shell.exec('node ../test/hel原创 2022-02-18 18:30:33 · 1099 阅读 · 0 评论 -
4.1 ora方法使用说明
1、start(String text)开始后,如果不调用其他方法,spinner会一直运行2、stop()停止spinner运行,并返回spinner实例3、succeed(String text)停止spinner运行,并返回spinner实例,标记为成功4、fail(String text)停止spinner运行,并返回spinner实例,标记为失败5、warn(String text)停止spinner运行,并返回spinner实例,标记为警告6、info(S原创 2022-02-18 17:22:52 · 1497 阅读 · 0 评论 -
4.0 ora使用参数说明
github:https://github.com/sindresorhus/oraora6.0以上版本不支持require方式引入,如果在node中使用,需要使用5.0版本1、ora(options)text:String//三种方式传递参数const ora = require('ora')//第一种const spinner = ora({ text:'start', prefixText:'string value before start',}).s原创 2022-02-18 16:48:11 · 1097 阅读 · 0 评论 -
3.9 figlet.js使用
github:https://github.com/patorjk/figlet.js1、安装npm install figlet2、figlet.text( parms,{options},function (err,data){}) parms:需要格式化的字符串options:参数配置funtion(err,data):回调optionsFont:字体(String)Default value:’Standard’horizontalLayout:布局原创 2022-02-11 17:27:13 · 993 阅读 · 0 评论 -
3.8 chalk包的使用
github:https://github.com/chalk/chalk1、安装npm install chalk2、Api生成样式的效果,与样式的顺序不存在关系,如果存在冲突,则取最后一个样式chalk.<style>[.<style>...](string, [string...])Example: chalk.red.bold.underline('Hello', 'world');const chalk = require('chalk原创 2022-02-11 14:39:03 · 1222 阅读 · 0 评论 -
3.7 nodejs发布package
1、新建个项目wxwcd-test-publish//package.json{ "name": "wxwcd-test-publish", "version": "1.0.0", "description": "", "main": "src/test.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "bin": { "run": "s原创 2022-01-30 14:29:20 · 1238 阅读 · 0 评论 -
1.3 发布订阅模式
通过发布订阅模式实现异步接口的顺序调用publish.jsclass Publish{ constructor() { this.events = {} } sub(event,callback){ if(this.events[event]){ this.events[event].push(callback) } else this.events[event]=[callback] } publish(event,.原创 2022-01-27 16:41:15 · 726 阅读 · 0 评论 -
3.6 nodejs导出class
1、在写nodejs脚本时,以class语法的方式构造了一个对象,当使用exports进行导出class,在别的js中new对象,代码报错2、把exports导出修改为module.exports导出,如下module.exports = Target修改成这样后,代码执行成功或者修改为exports = module.exports = Target代码也可以执行...原创 2022-01-14 16:40:32 · 2345 阅读 · 0 评论 -
3.5 生成随机汉字
module.exports.random_chinese = function (length) { let start = "4E00"; let end = "9FA5"; let str = ""; let max = parseInt(end, 16) - parseInt(start, 16); for (let i = 0; i < length; i++) { let random = (Math.floor(Math.rand.原创 2021-08-09 17:29:40 · 499 阅读 · 0 评论 -
3.4 Mongoose快速入门
https://blog.csdn.net/weixin_45828332/article/details/114120710转载 2021-07-14 14:08:21 · 116 阅读 · 0 评论 -
3.3 npx使用
https://www.ruanyifeng.com/blog/2019/02/npx.html转载 2021-07-08 16:13:42 · 168 阅读 · 0 评论 -
3.2 nrm安装
一、npm全局安装nrmnpm install nrm -g二、cmd运行nrm如果出现如下报错node:internal/validators:119 throw new ERR_INVALID_ARG_TYPE(name, 'string', value); ^[TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined修改C:原创 2021-07-08 16:11:11 · 240 阅读 · 0 评论 -
3.1 nvm安装
一、下载地址https://github.com/coreybutler/nvm-windows/releases/tag/1.1.7先卸载已安装的nodejs,要省事,还是下载安装版的nvm,直接双击安装二、常用命令直接用官网上的截图原创 2021-07-08 15:58:45 · 288 阅读 · 0 评论 -
3.0 glob语法
glob使用文档:https://github.com/isLishude/blog/issues/63原创 2021-02-14 14:06:25 · 192 阅读 · 0 评论 -
2.9 gulp官方使用文档
gulp使用文档:https://www.gulpjs.com.cn/docs原创 2021-02-11 00:05:52 · 200 阅读 · 0 评论 -
2.8 gulp常用插件使用说明
一、匹配符 *、**、!、{}src('./js/*.js') // * 匹配js文件夹下所有.js格式的文件src('./js/**/*.js') // ** 匹配js文件夹的0个或多个子文件夹src(['./js/*.js','!./js/index.js']) // ! 匹配除了index.js之外的所有js文件src('./js/**/{omui,common}.js') // {} 匹配{}里的文件名二、文件操作原创 2021-02-10 23:50:27 · 354 阅读 · 0 评论 -
2.7 执行gulp的task任务,报Error: File not found
一、在执行gulp rename任务时报错二、添加allowEmpty参数即可gulp.task("rename",function (){ var stream = gulp.src('./js/hello.txt',{allowEmpty: true}) .pipe(rename('./js/goodbye.md')) .pipe(gulp.dest('./dist')) return stream})...原创 2021-02-10 20:05:33 · 239 阅读 · 0 评论 -
2.6 npm安装gulp插件报错Command failed:autoreconf -ivf和node_modules\optipng-bin\vendor
1、npm在安装gulp相关插件时,报错2、解决办法a、安装时添加--ignore-scripts参数b、将node_modules删除,执行cnpm install安装原创 2021-02-10 20:00:41 · 2000 阅读 · 0 评论 -
2.5 module.exports\exports\export\import用法
一、nodejs中1、exports导出a.新建test.js文件const x = { a:1, b:2}const y = { a:1, b:2}function f(){ console.log(1)}exports.n = fexports.m = {x,y}b.新建index.jsconst l =require('./test1.js')console.log(l)output://{ n: [Functi原创 2021-02-10 13:43:29 · 485 阅读 · 0 评论 -
2.4 关于js的api中参数使用说明
1、示例buf.compare(target[, targetStart[, targetEnd[, sourceStart[, sourceEnd]]]])说明:target:必填参数[]:方括号中的均为可选参数参数可以理解为(target,targetStart?:number,targetEnd?:number,sourceStart?:number,sourceEnd?:number)可选参数,根据实际传参来定如,传一个参数,则是target传两个参数,则是ta原创 2021-02-17 15:28:42 · 383 阅读 · 0 评论 -
2.3 chai.js使用api
转载:https://www.chaijs.com/api/转载 2021-01-05 15:04:05 · 166 阅读 · 0 评论 -
2.2 mochawesome使用api
转载:https://www.npmjs.com/package/mochawesome转载 2021-01-05 14:58:06 · 123 阅读 · 0 评论 -
2.1 mocha使用api
转载:https://mochajs.cn转载 2021-01-05 14:54:47 · 209 阅读 · 0 评论 -
2.0 小袋鼠wallabyjs使用api
转载:https://wallabyjs.com/docs/intro/get-started-jetbrains.html转载 2021-01-05 14:51:33 · 288 阅读 · 0 评论