Node.js——NodeJs基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js——NodeJs基础相关的知识,希望对你有一定的参考价值。

一、概念

node.js采用Google Chrome浏览器规范引擎 由C++语言编写的。本质上是一个javascript的运行环境

nodejs 不仅仅能解析js代码而且没有浏览器端各种安全的级别限制

还提供一些系统级别的API,比如:

1.文件的读写

2.进程的管理

3.网络的通信

09年面世以来一直很火


其次它很强,借助于NodeJs所能完成的事情,当然不仅仅与此

Node-Webkit appjs 相似的应用:允许开发者使用web技术,也就是html/css/js来开发跨平台的、桌面的应用程序;都能兼容Mac,Linux,Windows

Jade:和NodeJs组合使用,可以高效的开发和管理后台html的模板

Ghost:是一个强大的而且用户体验超好的开源博客程序

Grunt:是一款JavaScript跑各种任务的运行工具,通过集成各种插件来完成比如说:样式编译、语法检测、脚本压缩合并、自动化测试、Shell脚本运行

文档生成或者是图片处理等各种任务,本本上使用的也是NodeJs中的模块

Nodecast:先是在pc上运行,然后启动移动设备,选择一个支持Chrome cast的应用程序,然后就可以把移动上的内容映射到电脑上,等于是把电脑当作一个流媒体来使用

Log.io:在浏览器里面可以实施监控项目日志

PDFKit:生成pdf文档

Haroopad:是Linux上的markdown编辑器

NoduinoWeb:硬件黑客希望通过Noduino Web页面来控制开源硬件,从而将软件和硬件很好的结合起来

NodeOS:基于NodeJs开发的友好的操作系统

其他语言能做的事情NodeJs都可以做 甚至能做的更好

推荐学习nodeJs的网站
1、nodejs.org  nodeJS的官网,常上去逛一逛,关注一下nodeJS更新,bug的修复。
2、npmjs.com 模块的社区,上面有很多大神写的代码,可以看一看同样的功能大神是怎么学的。
3、github --应该懂得,这个不多说了。
4、stackoverflow.com技术解答社区。

对于NodeJs的版本问题

偶数位为稳定版本   基数为非稳定版本


二、Windows下安装NodeJs

首先下载一个工具git bash 可以执行git命令,使用体验较好,比较适用于NodeJs的初学者

按照过程不做详细解答,根据自己需求自行配置

其次在NodeJs官网根据需要选择合适的版本进行下载

最后进行安装成功的检查以及Path的检查

技术分享

Linux、Mac系统下不做详述


三、Hello World

使用NodeJs开发Web应用非常简单,甚至都不用配置一堆文件来启动web服务器

从官网找到一段实例代码来进行Hello World!

代码简单解读:

创建了web服务器,仅需要传入一个匿名的回调函数 

服务器创建成功以后 代码并没有被阻塞到那里

而是接着往下执行

这就是事件驱动的编程风格 NodeJs中会采用大量这种方式

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(`服务器运行在 http://${hostname}:${port}/`);});

技术分享

之后启动node服务,如下所示:

进入目录
cd E:\\code\\jquery\\nodeJs\\js
启动服务
node server.js

技术分享

然后运行: http://127.0.0.1:3000/

会出现我们的Hello world!

代码解读:

require(‘http‘)由JavaScript模块来编写,只不过它的职责是创建web服务器及处理http相关的任务等等

通过createServer来创建一个web服务器,然后通过listen让服务器在3000端口监听请求,就可以收到任何来自于该端口的请求请求进来时该告诉它做什么,So有个匿名的回调函数

在什么时候调用?在监听到3000端口有内容进来时。有2个参数,请求体req、响应体res


git bash常用命令

技术分享


NodeJs本质上是一个JavaScript执行环境只是由于它的封装加上web底层的处理赋予它更多的能力

执行环境到底是什么呢?

在浏览器中体验js环境,本次选择Chrome 

技术分享

而在node环境下,同样可以这么写

技术分享

可以发现,对于普通的JavaScript执行,方法、变量这两者并没有什么差异

但是它们所在的环境顶层,也就是全局变量不太一样 都有自己特殊的地方

JavaScript:window、document

NodeJs:process

这就是两者之间的执行环境的不同之处


本文出自 “IT菜鸟” 博客,请务必保留此出处http://mazongfei.blog.51cto.com/3174958/1908201

以上是关于Node.js——NodeJs基础的主要内容,如果未能解决你的问题,请参考以下文章

vue.js项目构建基础

nodejs基础 -- 回调函数

node.js零基础详细教程(7.5):mongo可视化工具webstorm插件nodejs自动重启模块

node.js 基础操作

[nodejs基础]eventloop机制图解

Nodejs学习笔记----- 模块系统和函数