node.js初始以及几个常用的基础模块

Node.js

**概念:**基于Chrome v8引擎的js后端运行环境 (v8引擎解析效率最高)
运行环境: javascipt的后端运行环境,但无法调用浏览器的内置API,如操控DOM和BOM的API等
**作用:**通过javascript进行后端接口开发
版本区别: LTS版本:长期稳定版 Current版本:最新版(测试版),测试完成后的新特性才会移入稳定版

在node.js环境中执行javascript代码
方法:在js文件同层次目录下进入cmd终端,输入node 文件名.js

fs文件系统模块

**概念:**官方提供的,用来操作文件的模块
导入: const fs = require(‘fs’) //node.js中内置的,只需导入即可使用
方法:

fs.readFile() //读文件
语法: fs.readFile(path[,options],callback)
path:读取文件的路径
options:读取文件时采用的编码格式(默认为UTF-8)
callback:回调函数,包含两个参数err和dataStr,当失败时,err代表失败的错误对象,dataStr为undefind 当成功时,err值为null,dataStr为读取到的数据

fs.writeFile() //写文件
语法: fs.writeFile(position,val[,options],callback)
position:文件写入的目标位置,如果目标位置不存在该文件,则会自动创建一个
val:写入的内容,options:写入文件时采用的编码格式
callback:写入操作结束之后的回调函数,只存在err一个形参

文件读写的综合使用案例
const fs = require(‘fs’)
fs.readFile(’./成绩.txt’, ‘UTF-8’,function (err, data) {
if (err) { return console.log(‘读取错误’ + err.message); }
const text = data.replace(/=/g, ‘:’)
const txt = text.replace(/\s/g, ‘\r\n’)
console.log(text);
fs.writeFile(’./写入结果.txt’, txt, function (err) {
if (err) { return console.log(‘写入错误’ + err.message); }
console.log(‘写入成功’);
})
})
**解析:**此处关键点在于:(1)有个和ajax请求类似的回调函数,并且设置有一个失败跳出的处理语句
(2)利用replace正则替换对文件内容进行处理,避免了数组字符串多次剪切转换的麻烦
…(1)关于失败跳出语句的解析
< script>
const a = {name:‘ab’},b=[‘ba’]
var c=1
if(a){console.log(‘aaa’);}
if(b){console.log(‘bbb’);}
if©{console.log(‘ccc’);}
< /script>
测试证明: if语句中,判断条件部分需要一个布尔值,这个值不一定非要是写入ture或false,或者结果为true或false的表达式,它还可以是一个赋值了的变量或者创建完毕了的数组或对象或一个具体的数字或字符串,并且这些都为true

__dirname //获取当前文件所处目录(绝对路径)
用法: __dirname + ‘/文件名’
**解决问题:**当在其它文件夹下使用node时,node动态获取的是该文件的路径目录,如果此时使用…/来进行跳转切换,会导致路径错误,而使用__dirname时,则是根据当前文件来获取当前文件的目录路径,不会受node读取文件时位置的影响

扩展: ./和\开头表示对路径的承接,/开头表示从盘符开始,此处做的是字符串拼接,所以用’/文件名’承接前方__dirname的盘符索引
盘符索引示例:C:\Users\Lenovo\Desktop\培训课堂\webapi\BOM

path文件路径模块

1.path.join()
**作用:**将多个路径片段拼接为一个完成的路径
path.join(’/a’,’/b/c’,’…/’,’/d’,’/e’) // 其中…/表示抵消一层路径,此处路径为\a\b\d\e
用法: path.join(__dirname,’./文件名’)

2.path.basename()
**作用:**获取文件名字(可自选是否携带扩展名)

3.path.extname()
**作用:**获取文件的扩展名
语法: path.extname(文件名)

http模块

**概念:**官方提供的,用于创建web服务器的模块
**ip地址:**互联网上每台计算机的唯一地址,具有唯一性,电脑之间信息交流的依据
**域名:**将不容易记忆的ip转换成直观的域名地址,ip与域名地址也是属于一一对应的,通过DNS域名解释器将域名转换为ip地址传输给电脑的识别区
**端口号:**一个电脑可以提供多个服务,而具体的某个端口号则代表着且只能代表着一个确定的具体服务
代表性的是80xx端口号,提供web服务
使用步骤:
//导入http模块
const http = require(‘http’)
// 创建http服务器
const app = http.createServer()
//监听request事件
app.on(‘request’,function(req,res){ //req是个对象,含有url(客户端请求的url地址),method(客户端请求的类型) ;res.end()在网页上输出,输出内容为英文或中文乱码,可以通过在它前面添加一行如下代码:res.setHeader(‘Content-type’,‘text/html;charset=utf-8’)
console.log(‘he’)
})
//启动服务器
app.listen(3000,()=>{
console.log(‘服务器启动’)
})

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值