• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

刃更

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Node.js第一天

一、学习node.js之前先要了解node.js是什么

首先node.js不是一门语言,也不是库和框架,它是一个javaScript运行时环境,意味着它可以解析和执行javaScript代码,多亏了它javaScript才能完全脱离浏览器运行。

下面引用官网的介绍:

1.在node.js中的javaScript也具有EcmaScript语法但是不处理BOM和DOM,主要是为javaScript提供一些服务器级别的操作API如文件读写,网络服务构建,网络通信,http服务器等处理。

2.node.js由事件驱动,采用非阻塞IO模型(异步),轻量且高效

3.npm是世界上最大的开源库生态系统,node.js绝大多数javaScript相关包都存放在了npm上,以更方便开发人员去下载使用。

二、学习node.js能做什么

学习node.js的目的就是帮助大家打开服务端这个黑盒子

了解了服务器端才能更好地配合服务器端开发人员进行同步开发

三、如何安装node环境

1.下载 https://nodejs.org/en/download/

2.安装 采用傻瓜安装包方式可简单操作,如果已安装重复安装可升级。

3.建立相关环境变量 进入控制面板的高级系统设置,在高级选项中选择环境变量,将node安装路径添加到Path中

4.确认是否安装成功 打开命令行,输入 node --version 或 node -v

四、Hello World

1.创建javaScript脚本文件

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

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

注意:文件名不能用node.js来命名,也最好不要以中文命名

五、构建一个web服务器

1.加载http核心模块

var http = require('http')

2.使用http.createServer()方法创建一个web服务器返回一个Server实例

var server=http.createServer()

3.建立服务器可以做什么

提供服务:发请求、接受请求、处理请求、发出响应、注册request请求事件,当用户发送请求过来,就会自动触发服务器的request请求事件,

然后执行第二个参数:回调处理函数

server.on('request',function(){

console.log('收到客户端的请求了‘)

)}

4.绑定端口号,启动服务器

server.listen(300,function(){

console.log('服务器·启动成功了,可以通过http://127.0.0.1:300/ 来进行访问了’)

)}

六、Node中的JavaScript

1、采用EcmaScript语法,包括变量、方法、数据类型、内置对象如Array、Object、Date、Math等

2、模块系统

*在Node 中没有全局作用域的概念

*只能通过 require 方法来加载执行多个 JavaScript脚本文件

*require 加载只能是执行其中的代码,文件与文件之间由于是模块作用域,所以不会有污染问题,

  -模块是完全封闭的

  -外部无法访问内部

  -内部也无法访问外部

*模块作用域可以加载执行多个文件,完全避免变量命名冲突污染的问题

*但是某些情况下,模块与模块之间要进行通信

*在每个模块中,都提供了一个对象:’exports'

*该对象默认是一个空对象

*你要做的就是把需要被外部访问的成员手动地挂到‘exports'接口对象中

*然后谁来’require'这个模块,谁就可以得到模块内部地‘exports'接口对象

3、核心模块

*核心模块是有Node提供的一个个的具名的模块、它们都有自己特殊的名称标识

  -fs文件操作模块

  -http网络构建模块

  -os操作系统信息模块

  -path路径处理模块

*所有核心模块在使用的时候都必须手动的先使用’require'方法来加载,然后才可以使用,例如

  -’var fs = require('fs')'

  -http

    +require

    +端口号

      & IP地址定位计算机

      &端口号定位具体的应用程序

    +Content-Type

      &服务器·最好把每次响应的数据是什么内容类型都告诉客户端,而且要正确地告诉

      &不同的资源对应的 Content-Type 是不一样,具体参照:http://tool.oschina.net/commons

      &对于文本类型的数据,最好都加上编码,目的是为了防止中文解析乱码问题

    +通过网络发送文件

      &发送的并不是文件,本质上发送的文件的内容

      &当浏览器收到服务器响应内容之后,就会根据你的Content-Type进行对应的解析处理

  

 

 

posted on 2019-11-11 20:49  刃更  阅读(132)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3