nodeJs基础

nodeJs简介

nodejs是基于Chrome V8引擎的javascript运行环境。让javascript运行再服务端的开发平台上,是一门后端语言。

nodeJs的下载安装

nodejs的:下载地址。安装步骤没什么好讲的,直接下一步就行了。安装完之后安装window+R键打开cmd窗口运行node -v有版本显示就说明安装成功了。

nodeJs的内置API

  • fs:这个API可以读取文件和写入文件。要使用API之前我们先要使用require导入fs
const fs = require('fs')
  • fs.readFile():读取文件,使用方法如下:
const fs = require('fs')
fs.readFile('./1.txt', 'utf8', function(err,dataStr){
    if(err){
       return console.log('读取文件失败!' + err);
    }
    console.log('读取文件成功!' + dataStr);
})
这个方法有三个参数:

第一个是要读取文件的路径,第二个是以什么格式读取,第三个是回调函数(err,dataStr)err是读取文件失败的报错信息,dataStr是读取的文件信息。

  • fs.writeFile():写入文件,使用方法如下:
const fs = require('fs')
const str = 'hello'
fs.writeFile('./1.txt', str, function(err){
    if(err) {
       return console.log('写入失败' + err);
    }
    console.log('写入成功');
})
这个方法也有三个参数:

第一个是要写入文件的路径,第二个是要写入的数据,第三个是回调函数(err)err是写入文件失败的报错信息

  • path:这个是路径API,首先也是需要用require导入
  1. path.join():是用于连接路径的。使用方法如下:
const path = require('path')
const str = path.join('/a','/b/c','./','/d','/e')
console.log(str);

这里的./是返回上一层路径,所以最后打印出来的结果是:/a/b/d/e
2. path.basename():是用于获取文件名。使用方法如下:

const path = require('path')
//文件的路径
const fpath = '/a/b/c/d/index.html'

const fullPath = path.basename(fpath)
console.log(fullPath);
const hPath = path.basename(fpath, '.html')
console.log(hPath);

返回结果:在这里插入图片描述
这个方法有两个参数:第一个是要访问文件的路径,会返回一个带后缀名的文件给你。第二个参数是文件的后缀名,写上的话就返回不带后缀名的文件名。
3. path:extname():是用于获取文件的后缀名,使用方法如下:

const path = require('path')
//文件的路径
const fPath = '/a/b/c/d/index.html'

const hPath = path.extname(fPath)
console.log(hPath);

结果如下:
在这里插入图片描述
4. __dirname:当前文件所在文件夹的位置,使用方法如下:

const path = require('path')
const fs = require('fs')

const str = path.join('/a','/b/c','./','/d','/e')
fs.readFile(path.join(__dirname, './成绩OK.txt'), 'utf8', function(err,dataStr){})
console.log(__dirname)

结果如下:
在这里插入图片描述

  • http服务器的API,这个模块的作用是在于搭建一个服务器,作用与浏览器和用户之间的数据交换。用户发起请求,经过http服务器然后响应给用户所要请求的数据。通常搭建一个http服务器需要分4步走。使用方法如下:
//1.导入http模块
const http = require('http')
//2.创建一个服务器
const server = http.createServer()
//3.给服务器绑定一个事件。第一个参数是请求,第二个参数是回调函数
server.on('request', function(req,res){
    console.log('正在请求数据中...');
})
//4.给服务器一个端口,第一个参数是端口号,第二个参数是回调函数
server.listen(3030, function(){
    console.log('服务器启动');
})

本地服务器访问127.0.0.1:3030就可以了方法了
结果如下:
在这里插入图片描述
要想关闭服务器的话,按ctrl+c就可以了。

  • http服务器的请求路径和请求的方式,我们先上代码再来分析:
const http = require('http')
const server = http.createServer()

server.on('request', (req, res) => {
    const url = req.url
    const method = req.method
    res.setHeader('Content-type', 'text/html;charset=utf-8')
    res.end(url + 'And' + method)
})
server.listen(80, () => {
    console.log('服务器已经启动http://127.0.0.1');
})

如上代码可以看出,绑定服务器的回调函数里有两个参数分别是reqres。req就是发起的请求,可以通过url和method这两个属性得到请求路径和请求的方式。
res就是要响应给用户的数据。可以通过end这个属性响应给用户数据。这里我就把请求路径和请求方式响应给用户,结果如下:
在这里插入图片描述
还有一个setHeader()方法是用来处理响应时浏览器会出现中文乱码的问题。

模块的作用域

在默认情况下模块的不能在别的模块使用的,就跟javascript的局部作用域是一样的。这里举个例子:

//这是一个自定义模块
const username = 'zs'
function sayHello() {
    console.log('大家好,我是' + username);
}

在别的模块中使用方法如下:

//导入自定义模块并赋值给m1这个常量
const m1 = require('./模块作用域')
console.log(m1);

结果如下:
在这里插入图片描述
就是个空对象。其实这个空对象就是module.exprots的模块对象。
要想把自定义模块能用在别的模块中就可以使用module.exprots这个模块对象给抛出去就可以了,示例如下:

const username = 'zs'
function sayHeelo() {
    console.log(username);
}
module.exports = {
    username,
    sayHeelo
}
//导入自定义模块并赋值给m1这个常量
const m2 = require('./module对象模块')
console.log(m2);

结果如下:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旭陌小生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值