一:章节前言

二:Node.js概述

1:使用node.js能够解决什么问题

2:实现高性能服务器

3:非阻塞型I/O及事件环形机制

4:node.js适合开发的程序

三:node.js安装

一、Node.js 安装配置

Node.js 提供在Windows和Linux上安装, 本文将以Windows上Node最新版本v6.9.3为例来学习,不足之处还望指正:

1.  Window 上安装Node.js

32 位安装包下载地址 : https://nodejs.org/dist/v6.9.3/node-v6.9.3-x86.msi

64 位安装包下载地址 : https://nodejs.org/dist/v6.9.3/node-v6.9.3-x64.msi

安装步骤如下:

1.1 双击node-v6.9.3-x64.msi ,然后一直next下去

恭喜你安装成功啦!

2:检测PATH环境变量是否配置了Node.js

点击开始=》运行=》输入"cmd" => 输入命令"path",输出如下结果:

我们可以看到环境变量中已经包含了 D:\soft\develop\developSoft\nodeJs\;

检查Node.js版本


二:NodeJs 的 第一个简单应用:Hello World


事实上,我们的 Web 应用以及对应的 Web 服务器基本上是一样的。

在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的:

  1. 引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。

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

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

具体操作如下:

1. 创建一个网站的根目录,例如:D:\soft\develop\developSoft\nodeJs\Demo

2. 在根目录下创建一个js文件,例如:server.js

3. 在server.js内撸下如下代码:

  1 var http = require('http');//我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http
2
3 http.createServer(function (request, response) {
4
5 // 发送 HTTP 头部
6 // HTTP 状态值: 200 : OK
7 // 内容类型: text/plain
8 response.writeHead(200, {'Content-Type': 'text/plain'});
9
10 // 发送响应数据 "Hello World"
11 response.end('Hello World\n');
12 }).listen(8888);//接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。
13
14 // 终端打印如下信息
15 console.log('Server running at http://127.0.0.1:8888/');

  以上代码我们完成了一个可以工作的 HTTP 服务器。

4. 使用 node 命令执行以上的代码:

  将目录指向到网站根目录下—>执行node命令运行:---->出现Server running at http://127.0.0.1:8888,证明Web服务器已经启动并成功运行了

4.4 打开浏览器,输入http://127.0.0.1:8888

四:node.js中的模块

  1 exports.printFoo=function(){return "foo"}

  1 var foo=require('./foo.js');//通过foo.js 文件路径加载foo.js模块
2 console.log(foo.printFoo());//访问foo.js模块内的printFoo函数

  1  var  http =require('http');

五:一个简单的示例应用程序

  1 var http = require('http');
2 http.createServer(function (req, res) {
3 res.writeHead(200, {'Content-Type': 'text/html'});
4 res.write('<head><meta charset="utf-8"/></head>');
5 res.end('你好\n');
6 }).listen(1337, "127.0.0.1");
7 console.log('Server running at http://127.0.0.1:1337/')

  1 var http = require('http');

  1 http.createServer(function (req, res) {
2 //回调函数中的代码略
3 })

  1  res.writeHead(200, {'Content-Type': 'text/html'});

  1   res.write('<head><meta charset="utf-8"/></head>');

  1 res.end('你好\n');

  1 http.createServer(function (req, res) {
2 //回调函数中的代码略
3 }).listen(1337, "127.0.0.1");

  1 console.log('Server running at http://127.0.0.1:1337/')

代码执行情况如下:


六:小结

NodeJs>------->>第一章:Node.js介绍的更多相关文章

  1. 第 1 章 Node.js 介绍

    本章内容包括: 什么是 Node.js 框架,为什么要用 Node.js 框架,使用 Node.js 框架能够解决什么问题,在哪些场合下应该考虑使用 Node.js 框架. 如何下载 Node.js ...

  2. node.js介绍和npm的使用

    Node.js介绍 打开Nodejs英文网:https://nodejs.org/en/ 中文网:http://nodejs.cn/ 我们会发现这样一句话: 翻译成中文如下: Node.js 是一个基 ...

  3. Node.js 介绍及安装

    Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.本文详细介绍了No ...

  4. Node.js介绍、优势、用途

    一.Node.js介绍Node.js是一个javascript运行环境.它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与PHP.Java.Python..NET.R ...

  5. [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍

    注:为了看上去比较清晰这里只转载了中文 原地址:  [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍 本章将引导您完成安装和设置开发环境,然后你就可 ...

  6. nodejs学习笔记Node.js 调试命令

    3.4  调试        47  下面是一个简单的例子: $ node debug debug.js < debugger listening on port 5858 connecting ...

  7. Node.js 介绍

    章节 Node.js 介绍 Node.js 入门 Node.js 模块 Node.js HTTP模块 Node.js 文件系统模块 Node.js URL模块 Node.js NPM Node.js ...

  8. 学习NodeJS第一天:node.js介绍

    Node.JS 前辈 C 程序猿 Ryan Dahl(http://four.livejournal.com/)工程,根据 Google 著名的开源 JavaScript 发动机 V8 对于二次开发 ...

  9. 【读书笔记】《深入浅出nodejs》第一章 Node简介

    1. Node的官方网站: http://nodejs.org 2. Node的缘起: Ryan Dahl 打算设计一个高性能的Web服务器. Ryan Dahl 认为设计高性能Web服务器的要点在于 ...

随机推荐

  1. CalISBN.java

    /****************************************************************************** * Compilation: javac ...

  2. 使用LTP套件对Linux系统进行压力测试

    使用LTP套件对Linux系统进行压力测试 https://www.ubuntukylin.com/ukylin/forum.php?mod=viewthread&tid=6764 https ...

  3. raise TemplateDoesNotExist

    raise TemplateDoesNotExist(template_name, chain=chain)django.template.exceptions.TemplateDoesNotExis ...

  4. MYCAT分库分表

    一.整体架构 1.192.168.189.130:mysql master服务,两个数据库db_store.db_user,db_store做了主从复制 db_user: 用户表users为分片表 数 ...

  5. jQuery EasyUI Datagrid性能优化专题

    jQuery  EasyUI的Datagrid组件功能算是很强大了,不过性能确实不怎么乐观,而对于性能问题,网络上几乎也找不到相关的优化资料,所谓的牛人们可能都望而却步了.本博客以后会带着分析Data ...

  6. CentOS6.8下搭建zookeeper web界面查看工具node-zk-browser

    zookeeper的web界面查看工具Node-ZK-Browser的界面是用nodejs写的今天试着搭建了下. 1. 安装nodejs [root@localhost product]# pwd / ...

  7. hashmap和hashtable异同

    (一)继承的历史不同 Hashtable是继承自Dictionary类的,而HashMap则是Java 1.2引进的Map接口的一个实现. public class Hashtable extends ...

  8. STM32建立基本项目

    1.下载固件库解压 2.Keil建立项目,项目下建立三个文件夹3.各目录下从固件库中拷贝对应的目录 4.修改main.c文件 5.修改C++ 6.修改Include 7,编译.

  9. 六道JavaScript测验题

    1.找出数字数组中最大的元素(使用Match.max函数) var a=[123,23432,345,3,34]; console.log(Math.max.apply(null,a)); 2.转化一 ...

  10. input单选框多选框时可用的事件

    change(): 当元素的值发生改变时,会发生 change 事件. 该事件仅适用于文本域(text field),以及 textarea 和 select 元素. change() 函数触发 ch ...