Node.js学习笔记
第一周 2020.08.22 天气:今日是立秋之后的处暑 没那么热了
课程是与尚硅谷合作的,这位老师感觉,1是抽烟的 2去讲个相声或评书,应该也会很不错
以下都是CommonJS的规范,一个为Node.js设计的美好愿景,要从浏览器里的js那里再出发啦
1.文件就是模块
2.require引入模块. 是require, 不是request/response的request
require引入的动作本质是调用一个函数,prove it
1.在模块里打印arguments。语句是:console.log(arguments);
arguments是只有函数内部才有的伪数组。你可以看到有0-4共5个元素哦,可以吧
2.arguments有个属性callee,代表被调用的函数,打印出来可以看到函数原貌
语句是:console.log(arguments.callee+'');
看到了吧,匿名函数一个; 参数5个,最后2个简单,前3个
exports:用来向外暴露
require: 引入函数
module: 自己。exports是它的属性
function (exports, require, module, __filename, __dirname) {
//..这里是模块内容...
}
这里再说一下exports,它会比较常用,不暴露怎么接触和交互呢
比如模块里这样写: exports.a='1'
那在调用方要这样访问
var ret=require('./我的模块亚.js')
console.log(ret.a)
不能写 ret.exports 会是 undefined
不能写 ret.exports.a 会报错 undefined没a属性
3.可以了吧。什么?还要证明?那这就是你的不对了,你这是要求重复证明,让群众跑断了腿...
3.走捷径的代价
暴露时,可以用module.exports,也可以用exports
exports指向的就是module.exports,可看做一个快捷访问方式
但是
如果你给exports直接赋值一个对象给它,那它就什么都不是了,因为它暴露不出来
它只是一个引用,当它偏离了它的源头module.exports,指向了新的对象,这样它被憋死在函数里,一辈子出不来
所以exports这个快捷写法,只能一个个的给属性赋值,不能脱离它的源头module.exports,比如
exports.a='1'
而不能批量,批量的必须这样
module.exports = {
a:'1',
b:function(){}
}
如果你不加module.,嘿嘿,看上面,无为燕子捕鱼业
其他.类似于浏览器中的window,node里的全局变量和方法都绑定到global上
第二周 2020.08.30 Node.js,包含Vue部分内容 天气晴好 游泳的人多了 快到中元节
第3章 NPM
对于node软件包的生态环境,必须有一个好的管家来管理,否则总是做个事情的时候,
发现缺这个,找到后,又发现缺那个,这样不行,所以npm就出来了
cnpm是taobao做的,与官方10分钟同步一次,免去了网络偶尔被墙的尴尬;另外它只能下载不能上传
node搜索包的流程,是从当前开始一直往上,直到根目录
本章插了一个无关的内容,Buffer缓冲区 既然是缓冲,讲的是存放到内存的概念,所以存的是字节
npm常用:init i/install r/remove search
i --save 添加依赖的配置内容到package.json里,这是一个包的简历,另外注意json文件里面不能注释
i -g 全局安装,一般是每个项目都用的工具,比如cnpm。其他的,还是自己安装到自己的项目里。
npm config get registry 看一下目前的仓库地址,默认是https://registry.npmjs.org/;这里叫registry和git里的叫法类似
npm config set registry https://registry.npm.taobao.org 设置为使用淘宝镜像;这样与安装cnpm的效果一样?
第4章 Node操作文件
默认的操作是异步的。异步存在的缺点是,
1.代码太难看。异步处理依赖于事件,和回调函数。业务处理流程比较长的话,回调函数里再嵌套代码和回调函数,回调函数里又嵌套...
2.打破了代码顺序执行的习惯感觉。对编码会有一些影响。但习惯了也就好了。
同时在这一点上,异步机制又让你首先考虑面对error/异常的情况,这是好的地方。因为同步编码一般从健壮性角度我们才考虑这些
文件操作,就是打开文件、写文件、读文件、关闭文件
另外还有流操作,有一个很形象的比喻,就是二端都插上了水管,水/数据就可以流动了
适用于大数据量很难一次读写的情况。另外是文件其他操作,比如获取文件属性、检查文件是否存在、列出目录内容、监视文件状态等
技术资料查阅:http://nodejs.cn/
第5章 Vue
angular 模板 数据绑定
react 组件化 虚拟DOM
Vue为什么还能出来,因为它集大成
调试过程中chrome的扩展vue devtool是有用的,直接从网上下载编译好的安装会比较方便
如果从源码安装,需要下载源码、npm安装依赖、编译,中间遇到问题可能花费大把时间,不划算
- 点赞
- 收藏
- 关注作者
评论(0)