Node.js学习笔记

举报
黄生 发表于 2020/08/22 16:55:09 2020/08/22
【摘要】 2020.08.22 天气:今日是立秋之后的处暑 没那么热了课程是与尚硅谷合作的,这个老师,我感觉,1是抽烟的 2去讲个相声或评书,应该也会很不错以下都是CommonJS的规范,一个为Node.js设计的美好愿景,要从浏览器里的js那里再出发啦1.文件就是模块2.require引入模块. 是require, 不是request/response的requestrequire引入的动作本质是调...

第一周 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安装依赖、编译,中间遇到问题可能花费大把时间,不划算


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。