Node.js 知识总结(一)

一 、Node.js 简介

我们认识新事物的过程常常为以下三步,我总结为 “WWH”,通过这三个阶段我们可以快速了解新事物。

三阶段之一What

第一个W为What的缩写,就是说它是什么东西,而 Node.js 是一种程序设计平台,它用 JavaScript 来创建服务端的应用程序,熟悉web开发的人都知道,JavaScript主要实现前端页面的交互,也就是在客户端它发挥了巨大的作用,但是它能做的远非如此,Node.js 正是基于JavaScript在服务端大展身手。

三阶段之二Why

第二个W是Why的缩写,它为什么出现并获得开发人员的青睐,这也是我们关心的问题。Node.js 是一个让JavaScript运行在浏览器之外的平台,它实现诸如文件系统,模块包,操作系统 API 以及网络通信的功能,可以说它是为网络而生。Node.js 的JavaScript引擎是V8,它来自于Google 的chrome 项目,V8引擎号称是世界上最快的 JavaScript引擎,执行速度就如同本地执行一般,而且它应用广泛,可以开发具有复杂逻辑的网站、具有社交网络的大规模web应用、Web Socket服务器、TCP/UDP套接字程序、JavaScript编译器等。

三阶段之三How

H即为How的缩写,这是一个漫长的过程,理论联系实际,学习知识我们就要运用知识解决问题,而在解决问题的同时我们也巩固了知识,也对知识有新的理解,这是一个良性循环的过程。这一阶段我们主要学习Node.js的核心思想,异步与事件回调的编程模型,同时对一些主要模块进行学习,之后会涉及如何通过Node.js搭建一个Web应用。

二 、Node.js 安装与配置

  本文只介绍在Windows下的安装与配置,在其他平台安装过程类似。在Windows下安装与配置十分简单,首先访问http://nodejs.org 选择LTS(长期服务版)点击下载,然后选择好安装路径,一直点下一步即可。注意安装包自带了npm管理器,这个管理器非常有用,之后再详解。安装完成后,打开cmd(windows + R 快捷键),验证是否安装成功。

输入 node -v,屏幕显示node相应的版本号,如下图,同时我输入了npm - v,也可以看到 npm 的版本

到此时node的安装配置已完成。

三 、Node.js 初体验

       毫无疑问,第一个程序仍然是hello world。在你熟悉的文本编辑器(推荐VS Code 、Sublime text)中输入如下代码:

console.log('Hello World!');
保存为hello.js,进入代码所在目录,输入 node hello.js,执行结果如下:


接着来一个难一点的,写一个http服务器,代码如下:

var http = require('http');

http.createServer(function (request, response) {

    // 发送 HTTP 头部 
    // HTTP 状态值: 200 : OK
    // 内容类型: text/html
    response.writeHead(200, {'Content-Type': 'text/html'});
    response.write('<h1>node.js create web application </h1>');
    response.write('<p>http server </p>');
    // 发送响应数据 
    response.end('I am learning node.js \n');
}).listen(8088);

// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8088/');

保存为http.js,运行结果如下:


可以看到已经成功运行,接着在浏览器输入网址 http://127.0.0.1:8088/,结果如下:


小技巧:当我们修改源代码时,刷新浏览器发现页面并没有更新,这是因为Node.js只有在第一次引用到某部分时才会解析脚本文件,之后访问的都是内存,避免重新载入,所以当你用Node.js开发HTTP应用时,无论你修改了代码的哪一行,都必须重新运行。这种设计利于提高性能,但是不利于开发调试,这里就可以用到一个小工具 —— supervisor,它会监视代码并自动重启Node.js,安装及使用非常简单。安装过程如下:

在命令行输入如下代码: npm install  -g supervisor ,截图如下:


此时 supervisor已经安装好,接下来使用supervisor监视代码,如下:


还是以刚才HTTP应用为例,修改代码(第11行代码),如图:

var http = require('http');

http.createServer(function (request, response) {

    // 发送 HTTP 头部 
    // HTTP 状态值: 200 : OK
    // 内容类型: text/html
    response.writeHead(200, {'Content-Type': 'text/html'});
    response.write('<h1>node.js create web application </h1>');
    response.write('<p>http server </p>');
    response.write('<p>add something </p>');
    // 发送响应数据 
    response.end('I am learning node.js \n');
}).listen(8088);

// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8088/');

在命令行可以看到node.js重启了,如图:


刷新浏览器,可以看到页面已经更新,如下图:


好了,到此调试问题解决,期待下一篇博客吧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值