NodeJS学习(1)NodeJS简介与安装

什么是NodeJS

NodeJS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。
每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象。而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs、http等内置对象。

选择NodeJS的理由

.动态语言:开发效率非常高,并有能力构建复杂系统,如ql.io。
.性能和I/O负载:Nodejs非常好的解决了IO密集的问题,通过异步IO来实现。
.连接的内存开销:每个Node.js进程可以支持超过12万活跃的连接,每个连接消耗大约2K的内存。
.操作性:实现了Nodejs对于内存堆栈的监控系统。

NodeJS应用场景

1.Web开发:Express + EJS + Mongoose/MySQL

express 是轻量灵活的Nodejs Web应用框架,它可以快速地搭建网站。Express框架建立在Nodejs内置的Http模块上,并对Http模块再包装,从而实际Web请求处理的功能。

ejs是一个嵌入的Javascript模板引擎,通过编译生成HTML的代码。

mongoose 是MongoDB的对象模型工具,通过Mongoose框架,可以进行访问MongoDB的操作。

mysql 是连接MySQL数据库的通信API,可以进行访问MySQL的操作。

通常用Nodejs做Web开发,需要3个框架配合使用,就像Java中的SSH。

2.Web聊天室(IM):Express + Socket.io

socket.io一个是基于Nodejs架构体系的,支持websocket的协议用于时时通信的一个软件包。socket.io 给跨浏览器构建实时应用提供了完整的封装,socket.io完全由javascript实现。

3.Web爬虫:Cheerio/Request

cheerio 是一个为服务器特别定制的,快速、灵活、封装jQuery核心功能工具包。Cheerio包括了 jQuery核心的子集,从jQuery库中去除了所有DOM不一致性和浏览器不兼容的部分,揭示了它真正优雅的API。Cheerio工作在一个非常简单,一致的DOM模型之上,解析、操作、渲染都变得难以置信的高效。基础的端到端的基准测试显示Cheerio大约比JSDOM快八倍(8x)。Cheerio封装了@FB55兼容的htmlparser,几乎能够解析任何的 HTML 和 XML document。

4.Web博客:Hexo

Hexo 是一个简单地、轻量地、基于Node的一个静态博客框架。通过Hexo我们可以快速创建自己的博客,仅需要几条命令就可以完成。

发布时,Hexo可以部署在自己的Node服务器上面,也可以部署github上面。对于个人用户来说,部署在github上好处颇多,不仅可以省去服务器的成本,还可以减少各种系统运维的麻烦事(系统管理、备份、网络)。所以,基于github的个人站点,正在开始流行起来….

5.Web论坛: nodeclub

Node Club 是用 Node.js 和 MongoDB 开发的新型社区软件,界面优雅,功能丰富,小巧迅速, 已在Node.js 中文技术社区 CNode 得到应用,但你完全可以用它搭建自己的社区。
论坛链接地址:https://cnodejs.org

6.其他应用

REST开发:Restify
Web幻灯片:Cleaver
前端包管理平台: bower.js
OAuth认证:Passport.....等等

安装

1.NodeJS提供了一些安装程序,都可以在nodejs.org这里下载并安装。
2.通过brew安装(brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令)
i>.首先安装brewruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”
ii>.通过brew安装node brew install node

更新

node.js 一行命令 版本升级 npm install -g n # 显示错误 所以用 sudo npm install -g n 来代替

123.jpg

使用sudo命令
1234.jpg

NodeJS尝鲜

创建http服务器

创建一个app.js

var http = require('http');

http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<h1>Node.js 我们已经有服务了,</h1>');
res.end('<p>Hello World</p>');
}).listen(3000);

console.log("Http server is listening at port 3000.”);

在终端运行
进入js 所在的文件夹 cd 文件夹名字

XJdeMacBook-Pro:node xiaojun$ node app.js
Http server is listening at port 3000.

在浏览器浏览 http://127.0.0.1:3000

6C96B3A9-2167-4CC4-A09C-C08CE4AEAB46.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 目录Nodejs的介绍15个Nodejs应用场景Nodejs学习路线图 Nodejs的介绍Node.js的是建立在...
    寒剑飘零阅读 13,518评论 3 205
  • 前些日子从@张鑫旭微博处得一份推荐(Front-end-tutorial),号称最全的资源教程-前端涉及的所有知识...
    谷子多阅读 9,793评论 0 44
  • npm install -g hexo-clisudo npm install -g hexo-clinode -...
    iOS的Developer阅读 14,921评论 2 0
  • 沙扬娜拉! “低头”是一个女子最普通的行为,那一刹那流露出的温柔即使是主人公自己,也可能是毫不经意、毫不察觉的。诗...
    漫漫成长阅读 3,641评论 0 1
  • 他喜欢在家穿纯色的T恤,一个人安静地对着电脑做事,做着做着就会忘记时间,等他饿得不行的时候就会过来蹭你,等你投喂。...
    小寓阅读 2,325评论 0 0

友情链接更多精彩内容