NODEJS第一天学习

node学习第一天
2017年3月29日 14:02:55
var http = require(“http”);//引入required模块
require是nodejs自带的http模块,并且把它赋值给http变量
http.createServer(function (request,response) {
http提供的函数createServer ,它会返回一个对象,这个对象叫做listen的方法,这个方法有一个数值参数,指定端口号
发送http头部
http状态为200时链接成功
内容为text/plain
response.writeHead(200,{‘conteng-Type’:’text/plain’});
发送响应数据
response.end(“hello word”);
}).listen(8888);
console.log(“Server running at http://127.0.0.1:8888/“);

//

  • ======================== NPM

// npm是随同nodejs一起安装的包管理工具,能解决nodeJS代码部署上的很多问题,
// 常见场景有以下几种:
// 允许用户从NPM服务器上下载别人编写的第三方包到本地使用,
// 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用;
// 允许用户将自己编写的包或命令行程序上传到NPM服务器给别人使用;
// 查看npm版本
// npm -v 返回版本号,或者报错
//
// 使用npm命令安装模块
//
// npm install
// npm install express //安装nodejs express模块
// npm install express -g 全局安装
//
// 使用package.json
// package.json位于模块的目录下,用于定义包的属性
// 卸载模块: npm uninstall express
// 更新模块: npm update express
// 搜索模块: npm search express
// 创建模块 npm init 然后输入模块名name,描述description,git repository github地址
// package.json 生成地址
//
//

  • nodejs REPL(交互式解释器)

// ERPL:表示一个电话的环境,类似window系统的终端或者linux shell
// 我们可以在终端中输入命令,并且接受系统的响应
// node自带了交互式解释器,可以执行以下任务
// 1.读取:读取用户输入,解析输入了JavaScript数据结构并存储在内存中
// 2.执行:执行输入的数据结构
// 3.打印:输入结果
// 4.循环:循环操作以上步骤知道用户两次按clrl+c 退出
//
// 进入repl环境:cmd或者npm 输入node
// ctrl+c 退出当前终端;按两次退出node repl
// ctrl+d 退出node repl
// 上/下:查看输入的历史命令
// tab:列出当前命令
// .help:列出使用命令
// .break:退出多行表达式
// .clear:退出多行表达式
// .save filename 保存当前到node repl回话到指定文件
// .load filename 载入当前node repl 会话的文件内容
//

  • // NODE JS回调函数

// nodejs异步编程的直接体现就是回调
// 异步编程依托于回调来实现,但不能说使用了是调后程序就异步化了
// node使用了大量的回调函数,node所有的api都支持回调函数
// 比如我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。
// 这样就在执行代码时没有阻塞或等待I/O操作!
//
// 在读取文件时,如果是同步的,那么是先读取完,然后再执行下一行代码,
// 而异步(回调),是一边进行读取文件,一边进行操作;
//

  • // NODE 事件循环

// nodejs是单进程单线程应用程序,但是通过实践和回调支持并发,所以性能很高;
// nodejs的每一个API都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发;
// nodejs基本上所有的时间机制都是用的设计模式中观察模式实现;
// nodejs单线程类型进入到一个while的事件循环,知道没有时间观察者退出,每个异步时间生成一个事件观察者,如果有事件发生就调用回调函数;
// 事件驱动程序
// nodejs使用事件驱动模型,当web server接收到请求,就把它关闭然后进行处理,然后去服务下一个web请求;
// 当这个请求完成,它会被放回处理队列,当到达队列开头,这个结果被返回用户;
// 这个模型非常高效可扩展性非常强,因为web server 一直接受而不等待任何读写操作。(这也被称之为非阻塞IO或事件驱动io)
// 在事件驱动模型中,会生成一个主循环来监听事件,当检测到事件时触发回调函数
//

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值