进击Node.js基础(一)

一.前言

1:Node.js本质上是用chrome浏览器 v8引擎 使用c++编写的JS运行环境

2:相比于JS没有浏览器安全级的限制,额外提供了一些系统级的API:文件读写,进程管理,网络通信等。

3:有很多借助NODE.JS完成的项目如appjs跨平台桌面应用,Jade和node.js组合使用便捷管理后台html模板,grunt自动化运行工具,express.js

4:nodejs.org,npmjs.com模块社区,github,stackoverflow

5:gitbash:类似cmd,但是可以执行git命令,高亮和封装好的系统命令比cmd好用

二:例子

1:官网例子

const http = require(‘http‘);

const hostname = ‘127.0.0.1‘;
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader(‘Content-Type‘, ‘text/plain‘);
  res.end(‘Hello World\n‘);
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

一个web服务器,仅需要传入一个匿名的回调函数,服务器创建成功后,代码并没有阻塞,而是继续执行,这就是事件驱动模型的编程风格,在nodejs中将会大量采用这种方式,在命令行中调用此js文件就开始监听了

时间: 2024-08-09 06:22:48

进击Node.js基础(一)的相关文章

进击Node.js基础(二)

一.一个牛逼闪闪的知识点Promise npm install bluebird 二.牛逼闪闪的Promise只需三点1.Promise是JS针对异步操作场景的解决方案 针对异步的场景,业界有很多解决方案,如回调.事件机制 Promise是一个对象,同时它也一种规范,针对异步操作约定了统一的接口,表示一个异步操作的最终结果以同步的方式来写代码,执行的操作是异步的,但是又保证程序的执行顺序是同步的. 原本是社区的一个规范的构想,被加入到ES6的语言标准里面,比如Chrom,Firefox浏览器已对

进击Node.js基础(二)promise

一.Promise JS动画settimeout,setinterval,requestAnimationFrame,promise npm install bluebird Javascript的特点是异步,Javascript不能等待,如果你实现某件需要等待的事情,你不能停在那里一直等待结果回来,相反,底线是使用回调callback:你定义一个函数,这个函数只有等到结果可用时才能被调用. 这种回调模型对于好的代码组织是没有问题的,但是也可以通过从原始回调切换到promise解决很多问题,将p

04慕课网《进击Node.js基础(一)》HTTP讲解

HTTP:通信协议 流程概述: http客户端发起请求,创建端口默认8080 http服务器在端口监听客户端请求 http服务器向客户端返回状态和内容 稍微详细解析: 1.域名解析:浏览器搜素自身的DNS缓冲,查看是否有被请求的域名所定义的IP,缓冲1分钟 ## 谷歌浏览器输入:chrome://net-internals/#dns 2.搜索操作系统自身的DNS缓冲(浏览器无缓冲或失效) 3.读取本地的HOST文件 C:\Windows\System32\drivers\etc 4.浏览器发起

05慕课网《进击Node.js基础(一)》HTTP概念进阶

HTTP模块介绍 支持http协议的更多特性 不缓存请求和响应 API比较底层处理流相关,信息解析 HTTP相关概念 回调 将函数作为参数传到执行函数中,参数函数在执行函数中嵌套执行 function learn(something){ console.log(something); } function we(callback,something){ something+=' is cool' callback(something) } //具名函数 we(learn,'Nodejs') //

08慕课网《进击Node.js基础(一)》事件events

引用events模块中的EventEmitter 事件的监听和发射 相同的事件发射数量有限,可以通过setMaxListeners设置峰值 var EventEmitter = require('events').EventEmitter var life = new EventEmitter() //加不加都没有报警告 //life.setMaxListeners(10) life.on('clickEvent',function(who){ console.log('给' + who + '

10慕课网《进击Node.js基础(一)》初识promise

首先用嘴简单的方式实现一个动画效果 <!doctype> <html> <head> <title>Promise animation</title> <style type="text/css"> .ball { width: 40px; height: 40px; border-radius: 20px; } .ball1 { background: red; } .ball2 { background: ye

11慕课网《进击Node.js基础(一)》Buffer和Stream

Buffer (logo.png) 以下代码读取logo.png为buffer类型 然后将buffer转化为string 可以将字符串配置: data:image/png;Base64,Buffer.toString() var fs = require('fs') fs.readFile('logo.png',function(err,origin_buffer){ console.log('origin_buffer是否Buffer格式:'+Buffer.isBuffer(origin_bu

NodeJs&gt;-------&gt;&gt;第三章:Node.js基础知识

第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info  方法 1 console.log("this is a test string."); 1 node app1.js 1> info.log 1 console.log("This is a test String ."); 2 3 //从第二个参数开始,依序输出所有的字符串 4 console.log("%s","

node.js基础模块http、网页分析工具cherrio实现爬虫

node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言      说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherrio. 使用http直接获取url路径对应网页资源,然后使用cherrio分析. 这里我主要学习过的案例自己敲了一遍,加深理解.在coding的过程中,我第一次把jq获取后的对象直接用forEach遍历,直接报错,是因为jq没有对应的这个方法,只有js数组可以调用. 二.知识点    ①:supera