
node
依米_
这个作者很懒,什么都没留下…
展开
-
process(进程)
http://nodejs.cn/api/process.html#process_process这是node.js的文档process里面包含了很多与进程相关的对象和方法,有些程序没有捕获到自己的异常,'()uncaughtException)有可能会把整个node.js的进程都会被打断,为了防止整个情况的发生,我们就在process后加了最后一层保险,到了异常都被抛到最外层的时候,我们...原创 2018-08-09 10:29:26 · 848 阅读 · 0 评论 -
fs Stream
我们一般把他翻译成流,stream就是有方向的数据,由一个设备流向另一个设备,在liux中把设备抽象成文件,就可以说是从一个文件 流向另一 个文件。流的就是数据。想形成stream的有两个条件,一个是方向,另一个是数据。就像是只有一个3升的桶,能放5升的水,给你一点就消耗一点,数据一直处于流动的状态。和readFile差不多,但是readFile是全部放入缓存,读取出来,而readStre...原创 2018-08-13 10:06:03 · 484 阅读 · 0 评论 -
.editorconfig文件生效
它是一个代码提示工具,规范代码,让使用不同编辑器的开发者在共同开发一个项目时“无痛”地遵循编码规范在vsCode 编辑器里要进行配置点击查看-》扩展-》搜索editorconfig 点击安装,然后点击重新加载,就生效了...原创 2018-08-15 17:35:53 · 3874 阅读 · 1 评论 -
module.export与exports的区别
node.js在执行的时候会被包裹一个函数,这个函数在括号里面// (// function (exports,require,module,_filename,_dirname) {// ////////真正写的代码都在这里面,,,,,,,,// }// )const exports= module.exports; 1. exports只是...原创 2018-08-08 15:09:08 · 3977 阅读 · 0 评论 -
引用第三方 chalk 模块
第三方模块没有默认引用到我们的电脑中,我们要进行下载chalk 这个包是为了使输出不再单调,添加文字背景什么的,改变字体颜色什么的,npm install chalk //只需要写文件包名,不需要写文件路径const chalk= require('chalk');console.log(chalk.red('this is red!'));F:\nodeFile\p...原创 2018-08-08 12:11:55 · 7168 阅读 · 1 评论 -
引用系统模块fs
const fs = require('fs');// fs是一个模块,用来操作文件系统的,做一些文件的读写,改呀,查 ,删呀//用fs来读06_fs.js文件,(err,data)=>就是一个回调//读文件是异步操作const result = fs.readFile('./06_fs.js',(err,data)=>{ //当文件路径读取错误的时候,会抛出err这...原创 2018-08-08 11:40:33 · 2573 阅读 · 1 评论 -
node的运行环境
CommonJs 是node.js的规范,每个文件是一个模块,有自己的作用域,一个文件一个模块,在模块内部 modulebianklingglobalprocessmodule.exports 则用来导出代码require代表引入这个文件 const mod = require('./02_cusmod');如果引入一个文件,这个文件里有console.log("y...原创 2018-08-08 11:39:14 · 1030 阅读 · 0 评论 -
fs 关于文件夹的操作
const fs= require('fs');// ../是上级目录,files是上级目录下的文件夹名字// ./是当前文件所在目录,files是上级目录下的文件夹名字fs.readdir('./',(err,files)=>{if(err) throw err;console.log(files);})创建一个文件夹 //删除文件夹f...原创 2018-08-13 08:56:37 · 3553 阅读 · 0 评论 -
fs rename
const fs= require('fs');//要修改的文件,修改后的文件名,然偶是回调函数fs.rename('./text','test.text',(err)=>{if(err) throw err;console.log('done!');})文件名字被修改 //删除文件fs.unlink('./test.text',(err)=&g...原创 2018-08-13 08:56:12 · 785 阅读 · 0 评论 -
global全局对象
和window差不多,在浏览器里运行的时候,一些全局的属性,f就挂到了window中,在node.js中,我们就可以把全局变量属性和方法就挂到global对象中,global 属性自带几个比较常用的属性和方法的比如CommonJSBuffer(代表二进制的处理)prosess consoletimer,这些都是全局变量 在09_global.js里写入cons...原创 2018-08-08 15:50:45 · 633 阅读 · 0 评论 -
回调地狱 promisify
对于复杂的场景,都是一个回调里面调另一个回调,这个回调里面又套另一个回调,这样就形成了回调地狱,代码量比较大,无法读了,这时要怎么办呢node 8可以写异步像写同步一样;readFile怎么改成类似同步的书写 const fs= require('fs');//采用promisify,而不是通过回调同步返回值或传递结果,我们可以返回一个Promise,我们将来会返回一些值...原创 2018-08-13 15:31:48 · 537 阅读 · 0 评论 -
ui测试
因为用的是react组件,所以就用react相关的ui测试工具jsp官网;https://github.com/airbnb/enzyme浅渲染, https://www.npmjs.com/package/selenium-webdriver 浏览器测试https://seleniumhq.github.io/selenium/docs/api/javascript/inde...原创 2018-08-20 13:48:24 · 703 阅读 · 0 评论 -
测试
因为前端现在越来越庞大,代码越来越健壮,本地写的代码和线上运行的代码不一样,需要通过node.js 进行转换,,而且还要进行测试。assert就是用来测试的。测试库:chaijs.com mocha 是javascript测试框架,跑在node.js上mocha依赖cha代码量比较庞大的话,有个istanbul工具"test": "mocha test/mocha.js...原创 2018-08-19 17:22:30 · 136 阅读 · 0 评论 -
github密钥clone
https://www.cnblogs.com/jf-67/p/6415637.htmlhttps://www.cnblogs.com/niuniui/p/8783273.html转载 2018-08-14 00:39:17 · 448 阅读 · 0 评论 -
静态资源,项目初始化 文件上传忽略,代码风格
在github上创建一个项目,复制ssh的地址然后打开cmd,进入一个文件夹,输入 git clone git@github.com:wsj12/reqStaticResources.git 回车,把项目clone到本地。https://www.cnblogs.com/jf-67/p/6415637.htmlhttps://www.cnblogs.com/niuniui/p/8783273...原创 2018-08-13 22:04:19 · 309 阅读 · 0 评论 -
fs 文件信息
//输出文件的信息const fs= require('fs');fs.stat('./29_fs_stat.js',(err,stats)=>{if(err) throw err;//是一个文件吗?console.log(stats.isFile());//是一个文件夹吗?console.log(stats.isDirectory());//打印出文件的信息...原创 2018-08-13 08:55:44 · 653 阅读 · 0 评论 -
fs write
const fs=require('fs');//文件名,写的内容,编码风格,调函数(如果出现错误,就要抛出)fs.writeFile('./text','this is a test',{encoding:'utf8'},(err)=>{if(err) throw err;console.log('done!');})//也可以这默写编码格式fs.w...原创 2018-08-12 18:27:00 · 1177 阅读 · 0 评论 -
path _dirname _cwd
查看绝对路径,要引入path,_ _ dirname都是输出文件的文件地址如果cd 到shang一个文件夹,然后再去进入到文件夹执行文件,那么dirname就会输出不一样,他输出的是执行文件的路径,cwd和./都是输出刚刚cd的那个文件夹__dirname和__filename都是返回所要执行的文件的绝对路径,process.cwd 总是返回执行node命令所在 文件夹相对路径...原创 2018-08-12 10:27:22 · 814 阅读 · 0 评论 -
与操作系统有关的sep delimiter win32,posix
sep是指路径的分隔符delimiter是path的分隔符,const{sep,delimiter,win32,posix}=require('path');// console.log('sep:',sep);console.log('win sep:',win32.sep);console.log('PATH',process.env.PATH);con...原创 2018-08-11 17:49:21 · 407 阅读 · 0 评论 -
parse format
parse 是把文件名给解析成这几个normalize,join, resolve,basename,dirname,extnameformat 刚好反过来 format 刚好反过来,把这几个东西又给集成起来了.变成一个完整地点路径; ...原创 2018-08-11 17:26:31 · 351 阅读 · 0 评论 -
API 基础path 与name有关
basename 输出 文件的文件名,dirname输出文件的文件路径,extname输出文件的后缀名const {basename,dirname,extname} = require('path');const filePath='F:/nodeFile/part1/06_fs.js';console.log(basename(filePath));console.log(di...原创 2018-08-11 17:03:53 · 338 阅读 · 0 评论 -
基础的API -path
normalize就是对路径做一些简单的处理,如果路径写的有些小问题,瑕疵,它可以识别出来可以纠正错误;(注意保存)join是用来拼接一些路径,其实也调用了normailizeconst {join} = require('path');console.log(join('F','nodeFile','part1'));终端输入PS F:\nodeFile\part1>...原创 2018-08-11 16:48:14 · 800 阅读 · 0 评论 -
调试
Inspector调试Vs Codecmd中输入node --inspect-brk debug.js意思是使程序在入口的地方停下来function test1() { const a=parseInt(Math.random()*10); const b=parseInt(Math.random()*10); const c=test2();}funct...原创 2018-08-11 11:23:55 · 306 阅读 · 0 评论 -
timer延时执行setImmediate
//传入一个方法等一会再掉用,和 setTimeout 查不多//等下一个事件队列,,而且只有一个时间,setTimeout等有2个参数.node.js是在不停地检查事件队列和执行内容的setImmediate(()=>{ console.log('setImmediate');});//当前序列里的事件执行完了之后,再执行它process.nextTick(()=>...原创 2018-08-09 15:22:58 · 1408 阅读 · 1 评论 -
cwd
cwd不是一个属性,是个方法,打印出process执行的路径来,//打印出process执行的路径来console.log(process.cwd());F:\nodeFile\part1>node 12_cwd.jsF:\nodeFile\part1原创 2018-08-09 15:08:43 · 2796 阅读 · 0 评论 -
node.js是什么
浏览器是接收请求和发送请求,服务器接收请求。v8是解析浏览器的js 引擎。node。js是一个让JavaScript运行在服务器端的开发平台,它让JavaScript的触角伸到了服务器端,可以与PHP,jsp,python ,buby 平起平坐,但node。js似乎有点不同:1.1 node的特点node.js不是一种独立的语言,与PHP(是一种通用开源脚本语言,主要适用于Web开发...原创 2018-08-07 19:26:32 · 4242 阅读 · 1 评论 -
node的构图
页面渲染以及静态资源的读取用node会比后端语言好,web常见场景:静态资源读取数据库操作渲染页面高并发应对之道:增加机器数,增加每台机器的cpu数--多核 client当事人,eventloop 是事件循环 在高并发和i/o密集的情况下,node的价值就体现出来了,常用场景:web Server 本地代码构建 (直接写的css是没办法工作...原创 2018-08-07 20:22:28 · 131 阅读 · 0 评论 -
fs文件系统read
异步形式的最后一个参数都是完成时回调函数。 传给回调函数的参数取决于具体方法,但回调函数的第一个参数都会保留给异常。 如果操作成功完成,则第一个参数会是 null 或 undefined。const fs = require('fs');//这就是回调函数(err,data)=>{// if(err) throw err;// console.log(data);// }...原创 2018-08-12 18:08:07 · 1314 阅读 · 0 评论 -
event
一个事件绑定了,有N中情况可以触发他,但是zhI想让对应的事件处理程序只执行一次就好了,其他就不做特殊处理了。只响应一次怎么办呢,有一个once函数const EventEmitter=require('events');class CustomEvent extends EventEmitter{}const ce=new CustomEvent();//虽然是每500毫...原创 2018-08-12 17:22:20 · 518 阅读 · 0 评论 -
node evnet 参数
//如何告诉事件一些基础信息,事件触发如何传递参数呢const EventEmitter=require('events');class CustomEvent extends EventEmitter{}const ce=new CustomEvent();//此处介绍一个通用的事件处理函数,当程序出现错误的时候,我们怎么通知事件处理程序呢,通用的一个error事件,第一个参数告...原创 2018-08-12 16:56:26 · 205 阅读 · 0 评论 -
events事件
大多数node.js核心API都采用异步事件驱动架构,当主进程遇到了一个I?O请求时,把I/O 交给底层,然后并不受阻塞,当I/ 0完成之后就通知主进程,怎么做到的通知呢,通过触发一个事件,来告诉主进程我已经完事了。用http写了一个server事件,每当有plant进行连接时,server就会触发一个contaction事件,这个时候如果我们绑定的contaction事件给他绑定了一些事件处...原创 2018-08-12 15:51:33 · 1537 阅读 · 0 评论 -
buffer4
//把buf里的内容copy到b里面,从0开始copy,copy到末尾(三个字节打印一个汉字,此处是5个一打印,会出现乱码)const buf=Buffer.from('中文字符串!');for (let i=0; i<buf.length;i+=5){const b=Buffer.allocUnsafe(5);buf.copy(b,0,i);console.log(b....原创 2018-08-12 14:45:28 · 228 阅读 · 0 评论 -
buffer4
const buf = Buffer.from('this is a test!');//buf的长度console.log(buf.length);//如果alloc了一个长度为10的数组呢,并且只定义一个值,那么那么返回的仍然是10const buf2= Buffer.alloc(10);buf2[0]=2;console.log(buf2.length);//定义...原创 2018-08-12 11:54:22 · 233 阅读 · 0 评论 -
buffer——class
//Buffer.byteLength是计算字节个数console.log(Buffer.byteLength('test'));console.log(Buffer.byteLength('测试')); //判断是不是Buffer对象console.log(Buffer.isBuffer({}));console.log(Buffer.isBuffer(Buffer.fr...原创 2018-08-12 11:52:56 · 200 阅读 · 0 评论 -
buffer init
臭组长,我知道你说要记心得,但是我把代码也考进去,可以便于我随时随地复习呀Buffer 类的实例类似于整数数组,但 Buffer 的大小是固定的、且在 V8 堆外分配物理内存。 Buffer 的大小在被创建时确定,且无法调整。,也可以指定编码风格Buffer 类在 Node.js 中是一个全局变量,因此无需使用 require('buffer').Buffer。console.log(...原创 2018-08-12 11:06:36 · 395 阅读 · 0 评论 -
爬虫是个非常大的搜索引擎
爬虫:按照一定的规则自动抓取网络信息,反爬虫:User_Agent ,Referer,验证码单位时间访问次数,访问量的限制关键信息图片混淆异步加载爬取网页内容,,但是抓取的只是空壳,因为采取的异步加载GoogleChrome/puppeteerhttps://github.com/GoogleChrome/puppeteer/blob/v1.7.0/docs/api.m...原创 2018-08-20 16:32:11 · 1865 阅读 · 0 评论