node.js 入门

Node.js特点

  1. 异步事件驱动
  2. 非堵塞I/O
  3. 单线程(这里指主线程)
  4. 性能出众

基本语法

​ 应用程序 参数1 参数2…

NVM命令

$ nvm ls 		      #查看当前计算器安装过的nodejs列表
$ nvm install 版本号   #根据给定版本安装版本号
$ nvm use 版本号       #使用指定版本号的nodejs
$ nvm uninstall 版本号 #卸载已经安装过的版本

REPL测试环境

用于简易测试 Read Eval Print Loop 可以在终端直接写代码类似于控制台

$ node    #进入REPL测试环境
$ .exit   #推出REPL测试环境

终端命令

终端命令 后跟随的内容是 参数 每个参数使用空格隔开(本质上是应用程序)

$ pwd      # 查看当前绝对路径
$ cd       # 改变目录(进入)
$ ls       # 查看目录
$ ls -l    # 以列表形式查看目录
$ ls -a    # 查看全部目录内容(包含隐藏信息)
$ ls -la   # 以列表形式查看全部目录内容(包含隐藏信息)

路径和隐藏文件

相对路径

./ 从当前目录开始计算路径

绝对路径

windows操作系统中 绝对路径从盘符开始表示
c:/
d:/
e:/

类Unix操作系统(Unix Linux OSX) 中 绝对路径从根目录开始计算(没有盘符概念)

/ 表示根目录
~ 表示用户目录(home目录)

隐藏文件

类Unix操作系统中 隐藏文件/目录 是以点开头的 例如 .git
类Unix操作系统没有文件后缀概念(文件后缀由windows提出)

node 全局对象

global 对象
process 对象
process.argv属性

argv属性返回进程启动时的命令行参数的数组

第一个元素为 node程序

第二个元素为 当前执行文件的路径

剩余 元素为 额外的命令行参数

node 全局变量

__dirname 当前执行的目录名
	console.log(__dirname);   // 当前目录名 绝对路径
__filename 当前执行的文件名
	console.log(__filename);  // 当前文件名 绝对路径

node 回调函数

在nodejs中 所有的异步操作都是由回调函数完成的

nodejs的回调函数 是错误优先的

所有的回调函数 第一个参数都是 错误对象

// 判断奇偶数
function isOdd(num,callback) {
    if(typeof num !='number'){
        //如果参数错误 则调用回调函数并传入一个error对象
        callback(new Error('传入的不是数字'))
    } 
    if(num % 2){
        callback(null,'是基数');
    }else{
        callback(null,'是偶数')
    }
}

isOdd('5',function (err,reslut) { //回调函数的第一个参数必须是错误对象
    if(err) throw err;//错误处理放在最前
    console.log(reslut);
})

node 模块化规范

nodejs 采用的是模块化设计 采用 common.js 模块化规范

common.js规范特点

每个模块都拥有独立的作用域 代码在各自的模块中执行 不会照成全局污染
每个模块都是一个独立的文件
模块允许多次加载 但是只有在第一次加载时会执行一次
运行的结果会被缓存 如果再次加载 则从缓存中获得结果
模块加载顺序和代码书写顺序有关

模块使用

1.内置模块

2.自定义模块

3.第三方模块

模块导出和导入
module.export={导出内容}  // 模块导出 (模块导出的是一个对象)

require(模块路径)		  // 模块导入 (导入自定义模块使用相对路径)

**注:**模块也可以导出Class类

path模块

path模块是内置模块,提供了一些实用工具,用于处理文件和目录的路径

//模块导入方式
const path = require('path');
path.join()

​ **作用:**拼接路径

语法: path.join(路径片段1,路径片段2…)

​ **返回值:**String

​ **注意:**会智能补齐斜杠或识别斜杠,…代表返回上一级

path.extname(path)

​ **作用:**获得文件后缀

语法: path.extname(path)

​ **返回值:**String

path.dirname(path)

​ **作用:**获得文件路径名(不包括文件)

语法: path.dirname(path)

​ **返回值:**String

path.basename(path[,ext])

​ **作用:**用于获得文件名

​ **语法: ** path.basename(path[,ext])

​ **参数: ** ext代表去除指定后缀名

​ **返回值:**String

fs模块

filesystem文件系统模块是内置模块 用于进行文件系统的操作

//模块导入方式const fs = require('fs');
fs.readFile(path [,opations] , callback)

​ **作用:**读取文件

语法: fs.readFile(path [,opations] , function(err,data){})

参数: path 文件路径

​ opations 字符集utf8

​ callback 回调函数(两个参数为err 和 data)

​ **注意:**为异步操作

fs.readFileSync(path [,opations] , callback)

​ **作用:**读取文件

语法: fs.readFile(path [,opations] , function(err,data){})

参数: path 文件路径

​ opations 字符集utf8

​ callback 回调函数(两个参数为err 和 data)

​ **注意:**为同步

querystring模块

querystring.parse(str[, sep[, eq[, options]]])

​ **作用:**将query字符串转成query对象

语法: querystring.parse(str[, sep[, eq[, options]]])

参数: sep 分隔符

​ eq 键值对连接符

querystring.stringify(obj[, sep[, eq[, options]]])

​ **作用:**将query对象转成query字符串

语法: querystring.parse(str[, sep[, eq[, options]]])

参数: sep 分隔符

​ eq 键值对连接符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值