node.js的初步学习

[复制链接]
发表于 2025-6-10 16:46:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
那什么是node.js呢? 和JavaScript又是什么关系呢?


  • node.js 提供了 JavaScript的运行情况。
  • 当JavaScript作为后端开发语言来说, 需要在node.js的情况上进行
  • 当JavaScript作为前端开发语言来说,需要在浏览器的情况上进行
Node.js 可以做什么?


  • node.js作为一个JavaScript的运行情况,提供了基础的功能和API:(基于node.js衍生了许多框架)
  • Express框架 (快速构建web应用)
  • Electron 框架 (快速构建跨平台的桌面应用)
  • restify 框架 (快速构建API接口项目)
  • 读写操作数据库,创建实用的命令行工具辅助前端开发
读取文件


  • 浏览器中的js没有文件操作的能力的
    但是node中的js具有文件操作的能力
  • fs是 FileSystemde 的简写,文件系统的意思
    在node中进行文件操作,就必须引入fs焦点模块
    fs焦点模块 ,提供了所有文件操作的相干API
例如:fs.readFile方法读取文件

  • require方法加载fs焦点模块
    var fs=require(‘fs’)
  • 读取文件
    第一个参数读取文件路径
    第二个参数是一个回调函数
  • error
    假如读取失败,error就是错误对象
    假如读取成功,error就是null
  • date
    假如读取失败,date就是untifined(没有数据)
    假如读取成功,date就是读取到的数据
  1. fs.readFile('./hello.tex',function(error,date){
  2.     // 默认存储的是2进制,然后转化为16进制
  3.   //  <Buffer 68 65 6c 6c 6f 2c 77 6f 72 6c 64 21 21 21>
  4.   //  通过toString方法把其转化为认识的字符
  5.     console.log(date);
  6.    console.log(date.toString());
复制代码
  1. // 注释:通过判断 error 是否存在,确认文件读取是否出错
复制代码
  1. if (error) {
  2.   // 如果 error 有值(说明读取失败),打印错误提示
  3.   console.log('读取文件失败了')  
  4. } else {
  5.   // 如果 error 为 null(说明读取成功),打印文件内容(data 是文件内容的 Buffer/字符串)
  6.   console.log(data.toString())  
  7. }
  8. })
复制代码
写文件


  • 写文件
    第一个参数:文件路径
    第一个参数:文件内容
    第二个参数:回调函数
  • error

    • 成功:error就是null
      文件写入成功
    • 失败:error就是错误对象
      文件写入失败

  1. var fs=require('fs')
  2. fs.writeFile('./你好.md','大家好,我是node',function(error){
  3.      console.log('成功')
  4. })
复制代码
request


  • request哀求变乱处理函数,接受2个参数:

    • Request哀求对象
      哀求对象可以用来获取客户端的一些哀求信息,例如哀求路径
    • Request响应对象
      响应对象可以给客户端发送响应消息

  • respose对象有一个方法:write 可以用来给客户端发送响应数据
    write可以利用多次,但末了一定要用end来竣事响应。否则客户端一直响应
  1. var http=require('http');
  2. var server=http.createServer();
  3. server.on('request',function(request,response){
  4. console.log('收到请求,请求路径为'+request.url)
  5. response.write('hello')
  6. response.write('node')
  7. response.end()
  8. })
  9. server.listen(3000,function(){
  10.     console.log('启动成功,通过http://127.0.0.1:3000/访问')
  11. })
复制代码
url

根据差别的哀求路径发送的差别的响应结果

  • 获取哀求路径
    response.url获取端口后的的那一部分路径
    也就是说所有的url都以 /开头
  • 判断路径返反响应
  1. var http=require('http')
  2. var server=http.createServer()
  3. server.on('request',function(request,response){
  4. console.log(request.url)
  5. // response.end('hello,node')
  6. // response.write('hello')
  7. // response.write('node')
  8. // response.end()
  9. var url=request.url
  10. if(url==='/'){
  11.     response.end('index paga')
  12. }else if(url==='/login'){
  13.     response.end('login paga')
  14. }else if(url==='/products'){
  15.     // 设置响应头:明确使用 UTF-8 编码的 JSON
  16.     response.setHeader('Content-Type', 'application/json; charset=utf-8');
  17.     var products=[
  18.         {
  19.         name:'苹果',
  20.         price:888,
  21.         } ,{
  22.         name:'荔枝',
  23.         price:9999,
  24.         }
  25.     ]
  26.       response.end(JSON.stringify(products))
  27. }else{
  28.      response.end('404')
  29. }
  30. })
  31. server.listen(80,function(){
  32.     console.log('...')
  33. })
复制代码
http

焦点模块 http

http帮你创建编写服务器的

  • 加载http模块
    var http=require(‘http’)
  • 利用http。createServer()方法创建一个Web 服务器
    返回一个Server实例
  1. var server=http.createServer();
复制代码
3.提供服务
1. 发哀求
2. 接受哀求
3. 处理哀求
4. 给个反馈(发送响应)
当客户端哀求过来时,就会自动触发request 哀求变乱,然后执行第2个参数:回调函数
  1. server.on('request',function(){
  2. console.log('收到请求')
  3. })
复制代码
4.绑定端口号,启动服务器
  1. server.listen(3000,function(){
  2.     console.log('启动成功,通过http://127.0.0.1:3000/访问')
  3. })
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表