Nodejs服务器端-第一天(更新中)

1.Node介绍

1.1为什么要学习Node.js

企业需求:

  • 具有服务端开发经验更佳
  • front-end
  • back-end
  • 全栈开发工程师
  • 基本的网站开发能力
    • 服务端
    • 前端
    • 运维部署

1.2Node.js是什么

  • Node.js是JavaScript 运行时(runtime)
  • 通俗易懂的讲,Node.js是JavaScript的运行平台
  • Node.js既不是语言,也不是框架,它是一个平台

浏览器中的JavaScript

  • EcmaScript
    • 基本语法
    • if
    • var
    • function
    • Object
    • Array
  • Bom
  • Dom

Node.js中的JavaScript

  • 没有Bom,Dom
  • EcmaScript
  • 在Node中这个JavaScript执行环境为JavaScript提供了一些服务器级别的API
    • 例如文件的读写
    • 网络服务的构建
    • 网络通信
    • http服务器

构建与Chrome的V8引擎之上

  • 代码只是具有特定格式的字符串
  • 引擎可以认识它,帮你解析和执行
  • Google Chrome的V8引擎是目前公认的解析执行JavaScript代码最快的
  • Node.js的作者把Google Chrome中的V8引擎移植出来,开发了一个独立的JavaScript运行时环境

Node.js uses an envent-driven,non-blocking I/O mode that makes it lightweight and efficent.

  • envent-driven 事件驱动
  • non-blocking I/O mode 非阻塞I/O模型(异步)
  • ightweight and efficent. 轻量和高效

Node.js package ecosystem,npm,is the larget scosystem of open sourcr libraries in the world

  • npm 是世界上最大的开源生态系统
  • 绝大多数JavaScript相关的包都存放在npm上,这样做的目的是为了让开发人员更方便的去下载使用
  • npm install jquery

1.3Node能做什么

  • web服务器后台

  • 命令行工具
    * npm(node)
    * git(c语言)
    * hexo(node)
    * 。。。

  • 对于前端工程师来讲,接触最多的是它的命令行工具
    * 自己写的很少,主要是用别人第三方的
    * webpack
    * gulp
    * npm

2.起步

2.1安装Node环境

  • 查看Node环境的版本号

  • 下载:https://nodejs.org/en/

  • 安装:

    • 傻瓜式安装,一路next
    • 安装过再次安装会升级
  • 确认Node环境是否安装成功

    • 查看node的版本号:node --version
    • 或者node -v
  • 配置环境变量

    hello node.js的实现

    1.创建编写JavaScript脚本文件

    2.打开终端,定位到脚本文件所属目录

    3.输入node 文件名执行对应的文件

    注意:文件名不要使用 node.js来命名。除了该名,随便取,最好不要使用中文。
    在这里插入图片描述

2.2REPL

read读取

eval执行

print输出

loop循环

node中的console:在终端直接输入node命令回车。
在这里插入图片描述
这个环境的作用只是用来帮助我们做一些辅助测试,例如在里面可以直接使用node中的核心模块而不需要require加载。

2.3解析执行JavaScript

  1. 创建编写JavaScript脚本文件
  2. 打开终端,定位脚本文件的所属目录
  3. 输入node 文件名执行对应的文件
    注意:文件名不要用node.js来命名,也就是说除了node这个名字随便起,最好不要使用中文。

2.4文件的读写

文件读取:

//浏览器中的JavaScript是没有文件操作能力的
//但是Node中的JavaScript具有文件操作能力
//fs是file-system的简写,就是文件系统的意思
//在Node中如果想要进行文件的操作就必须引用fs这个核心模块
//在fs这个核心模块中,就提供了人所有文件操作相关的API
//例如 fs.readFile就是用来读取文件的

//  1.使用fs核心模块
var fs = require('fs');//node的API,浏览器不认识,浏览器报错require is not defined(同样是JS代码,放在不同的环境,解析结果不一样)

// 2.读取文件
//第一个参数是要读取的文件路径
//第二个参数是一个回调函数
//error   如果读取失败,error就是错误对象,如果读取成功,error就是null
//data    如果读取成功,data就是读取到的数据,如果读取失败,data就是null

//成功  -data 数据    -error  null
//失败  -data undefined   -error  错误对象
fs.readFile('./data/a.txt',function(err,data){
    // <Buffer 68 65 6c 6c 6f 20 6e 6f 64 65 6a 73 0d 0a>
  // 文件中存储的其实都是二进制数据 0 1
  // 这里为什么看到的不是 0 和 1 呢?原因是二进制转为 16 进制了
  // 但是无论是二进制01还是16进制,人类都不认识
  // 所以我们可以通过 toString 方法把其转为我们能认识的字符
  // console.log(data)
    console.log(data)
    
   if(err){
        console.log('文件读取失败');
   }
    else{
         console.log(data.toString());
    }
})

在这里插入图片描述
文件写入:

//  1.使用fs核心模块
var fs = require('fs');

// 2.将数据写入文件
// $.ajax({
//   ...
//   success: function (data) {
    
//   }
// })

// 第一个参数:文件路径
// 第二个参数:文件内容
// 第三个参数:回调函数
//    error
//    
//    成功:
//      文件写入成功
//      error 是 null
//    失败:
//      文件写入失败
//      error 就是错误对象


fs.writeFile('./data/a.txt','我是文件写入的信息',function(err){
   if(err){
       //文件名不合格就会写入失败
        console.log('文件写入失败');
   }
    else{
         console.log('文件写入成功');
    }
})

2.5 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...')
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值