node.js学习

一、基础知识

 

1. 终端、shell命令:

dir:列出当前目录下所有路径

.:表示当前目录; .. 表示上一级目录

md 目录名: 新建文件

rd 目录名: 删除文件

文件名:直接打开文件

2. 环境变量(windows系统中的变量)!!!配置path

当在命令行窗口打开一个文件,或调用一个程序时,系统会首先在当前目录下寻找文件程序,如果找到了则直接打开,如果没有找到,则会一次到环境变量path的路径中寻找。如果没找到,则报错。(寻找的过程和作用域链是一致的。)

因此可以将一些经常需要访问的程序和文件的路径添加到path中,这样就可以在任意位置访问文件和程序了。

3. 进程和线程

(1)进程:负责为程序的运行提供必备的环境。

进程相当于工厂中的车间。

(2)线程:是计算机中的最小的计算单位,线程负责执行进程中的程序。线程相当于工厂中的工人。

单线程:js是单线程语言

多线程:容易有并发问题

二、node.js简介

2.1 node.js是一个能在服务器端运行js的开放源代码、跨平台js运行环境。使用事件驱动、非阻塞和异步I/O模型等技术来提高。可优化应用程序的传输量和规模。

Node处理请求时是单线程,但是在后台拥有一个I/O线程池。

2.2 node用途:

 2.3 模块化

  • 在node 中,一个js文件,就是一个模块。
  • 在node中,每一个js文件中的js代码都是独立运行在一个函数中,而不是全局作用域,所以一个模块中的变量和函数在其他模块中无法访问。因此,可以通过exports来向外部暴露属性。exports.x = 10
  • 通过require(路径)引入模块。其实引入的是一个对象,因此需要设置一个变量来接收。var md = require(路径)
  • 使用require()引入外部模块时,使用的就是模块标识,可以通过模块标识来找到指定的模块。
  • 在node中,有一个全局对象global,它的作用和网页中window类似,在全局中创建的变量都会作为global的属性保存,在全局中创建的函数都会作为global的方法保存。使用var定义的函数是,局部变量,不是函数变量。(在函数中,有arguments属性,arguments.callee  得到是当前执行的函数对象;输出arguments.callee+"",就可以得到函数的真身)

5个参数介绍:

 基本数据类型是放置在栈内存中的。

对象,new时,会在堆内存中开辟空间。对象在栈内存中的值,存的是一个地址。

expotorts和module.exports的区别:

exports = module.exports;

因为module.exports{}修改的是本身,而 exoorts{}修改的是对象,此时exports不指向module.exports。因此使用exports只能使用exports.xxx;(修改对象中的值,而不是修改exports的指向),不能exports{}

三、 包管理器NPM

3.1 包简介

json文件中不能写注释

NPM(node package manager:帮助完成了第三方模块的发布、安装和依赖等。借助NPM、Node与第三方模块之间形成了很好的生态环境。

3.2  npm命令

npm remove/r 包名:删除包

npm version 查看所有模块的版本

npm install 包名 --save  安装包并添加到依赖中

npm install :下载当前程序所依赖的包

      安装包的时候,首先要安装package.json、使用 node init,即可创建package.json文件。

install可以简写成i。

       一般上传项目,不会传node_module。所以下载下来以后,要先运行npm install

3.3镜像

3.4 使用:

node在使用模块名字来引入模块时,会首先在当前目录的node_modules中寻找是否含有该模块。

如果有则直接使用,没有就去上一级目录的node_modules中寻找。如果有则直接使用,没有继续去上级目录中寻找,直到找到为止。如果到了根目录,依然没有,则报错。

四、Buffer缓冲区

后面再继续看。加油!

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值