初识node

  • 认识node

 node是服务器端语言。简单的说,是运行在服务器端的javaScript;

高效迅速 ==== 事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好

检查node安装与否以及node版本。打开cmd,输入node  --version即可检测结果

  •  node的NPM

NPM是node的包管理工具, 能解决NodeJS代码部署上的很多问题,在node安装的时候会默认自动安装,可以通过npm指令检测npm版本和更新

 

检查版本

npm -v

 

更新到最新版本npm

npm install npm -g

   

使用npm安装常用的nodeJS的web常用框架

npm install express

 

卸载模块

npm uninstall express

 

更新模块    

npm updata express

  

创建模块 == 后续需要俺不操作,录入name、author等信息

 

npm init

  

  •  node的REPL

REPL是node的交互式解释器,它可以:

  1. 读取
  2. 计算(简单运算、表达式、使用变量、下划线变量_)
  3. 打印
  4. 循环(循环变量的输入需要注意)

 使用以下命令来启用node终端,按回车输出结果 

node
>等待输入即可
  •   REPL的常用命令
  1. ctrl + c - 退出当前终端。
  2. ctrl + c 按下两次 - 退出 Node REPL。
  3. ctrl + d - 退出 Node REPL
  4. 向上/向下 键 - 查看输入的历史命令

  

  •   了解下 Node.js 应用是由哪几部分组成
  1. 引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。

  2. 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。

  3. 接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据

  

例子1

 使用require载入一个模块并赋值给一个变量

var http = require("http")

 

使用createSever方法创建服务器, 通过 request, response 参数来接收和响应数据。对返回的对象用listen来指定服务器端口

http.createServer(function(requset,response){
   response.wtiteHead(200,{"Content-Type":"text/plain"});
  response.end("hello world \n"); 
}).listen(8888);
console.log('Server running at http://127.0.0.1:8888/');

 

在cmd里面启用node  切换到项目路径下,执行即可看到返回的结果

node 文件名

结果如下图:

在浏览器地址栏输入以上地址,既可以访问到文件  hello world

 

例子2===阻塞与非阻塞代码

使用模块  fs

步骤1:新建text或html文件,新建get.js文件

步骤2:在get.js里面书写以下代码实例

var fs = require ("fs);
var data = fs.readFileSync("index.html");
console.log(data.toString());
console.log("程序执行已完成!!!")

  执行node  输出结果为依次输出:index.html里面的内容、程序执行已完成!!!;

  以上是常规的 阻塞式执行代码

var fs = require ("fs");
fs.readFile("index.html",function(err,data){
   if(err){
    console.log("throw error");
} 
console.log(data.toString());
})
console.log("程序已执行完成!!!")

  执行node。输出的结果并非依次输出:程序已执行完成、index.html里面的内容

又上述例子可见,阻塞和非阻塞在性能上还是有区别的。第一个是非阻塞的代码,是需要等读取完文件后才可以返回结果,而费阻塞式的代码,是可以先返回结果再读取文件的。

 

posted on 2016-12-07 16:38  Sunny同学  阅读(114)  评论(0)    收藏  举报