NodeJS


前后端

概述

  • 一个web应用(网站、app、h5游戏等)从开发角度分为前端和后端。
    • 前端主要负责页面的实现以及页面交互以及数据渲染(数据来自于后端).
    • 后端主要负责服务器程序的编写以及数据库的交互,以及将数据传给前端或数据库
  • 前端和后端的交互:一个基本的流程
    • 前端通过ajax等技术发送请求到服务器,服务器接收请求并处理,处理后发现需要数据,后端开发人员就会去数据库里拿数据,服务器拿到数据库数据之后再传给前端。
  • 技术栈
    • 前端:HTML+css+JavaScript+vue(生态)+react(生态)
    • 后端:NodeJs+Express
    • 数据库:MongoDB、mongoose(实现和nodejs进行交互)
  • 服务器程序工作
    • 接收和处理请求
    • 读取或保存数据到数据库
    • 将前端获得的数据以及从数据库拿到的数据进行交互

Node.js是什么

概述

  • Node.js 是一个开源和跨平台的 JavaScript 运行时环境。 Node.js可以解析和运行JavaScript代码
  • Node.js 在浏览器之外运行 V8 JavaScript 引擎(Google Chrome 的内核)
  • 既不是语言,也不是框架,它是一个平台
  • Node.js 中的 JavaScript
    • 没有 BOM、DOM
    • EcmaScript 基本的 JavaScript 语言部分
    • 在 Node 中为 JavaScript 提供了一些服务器级别的 API
      • 文件读写操作
      • http 服务器
      • 网络服务器的构建
  • 构建与Chrome的V8引擎之上
    • 代码只是具有特定格式的字符串
    • 引擎可以认识它,帮你解析和执行
    • Google Chrome的V8引擎是目前公认的解析执行JavaScript代码最快的
    • Node.js的作者把Google Chrome中的V8引擎移植出来,开发了一个独立的JavaScript运行时环境

特性

  • envent-driven 事件驱动
  • non-blocking I/O mode 非阻塞IO模型(异步)
  • lightweight and efficent 轻量和高效
  • npm是世界上最大的开源库生态系统

安装

测试安装成功

  • 打开终端命令行,输入node -v查看当前版本
  • 若出现不是内部或外部命令则需要进行环境变量的配置

解析执行js

  1. 创建JavaScript脚本文件
  2. 打开终端,进入脚本文件目录
  3. 输入node 文件名.js 执行对应文件

文件读写

//fs是file-system的简写,就是文件系统的意思
//在Node中如果想要进行文件的操作就必须引用fs这个核心模块
//在fs这个模块中,就提供了所有文件操作相关的API
//例如 fs.readFile就是用来读取文件的
//  1.使用fs核心模块
var fs = require('fs');
// 2.读取文件
fs.readFile('./data/a.txt',function(err,data){
   if(err){
        console.log('文件读取失败');
   }
    else{
         console.log(data.toString());
    }
})
// 3.将数据写入文件
fs.writeFile('./data/a.txt','我是文件写入的信息',function(err,data){
   if(err){
        console.log('文件写入失败');
   }
    else{
         console.log(data.toString());
    }
})

Http服务器

// 1.加载http核心模块
var http = require('http');
// 2.使用http.createServer()创建一个web服务器
var server = http.createServer();
// 3.服务器要做的事儿
// 提供服务:对数据服务
// 发请求
//    接收请求
//    处理请求
//    反馈(发送响应)
//    当客户端请求过来,就会自动触发服务器的request请求事件,
//然后执行第二个参数:回调处理函数
server.on('request',function(){
    console.log('收到客户的请求了')
})
// 4.绑定端口号,启动服务
server.listen(3000,function(){
    console.log('runing...')
})

文章作者: 时光路人
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 时光路人 !
评论
  目录