一:章节前言

二: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. cookies 不同端口 是可以共享的

    cookies 不同端口,是跨域吗? 我部署了两套系统在同一个ip上!8080,和8090! 这样.cookies,算跨域吗? 两套系统都记录了都有一个 historyItem的key的cookies ...

  2. shopnc 手机网站配置

    完整版SHOPNC下载地址:http://www.fenxiangweb.com/thread-7643-1-1.html SHOPNC手机wap版安装教程 1.进入根目录下mobile/readme ...

  3. 求解100以内的所有素数(问题来自PythonTip)

    求解100以内的所有素数 (AC/Submit)Ratio(4615|22542)20.47% 描述: 输出100以内的所有素数,素数之间以一个空格区分(注意,最后一个数字之后不能有空格). a=[2 ...

  4. 定义get/set方法快捷方式

    定义get/set方法可以通过鼠标进行完成,这里有一个简单的通过编辑器默认生成getter/setter,编辑器会生成默认生成get/set方法 第一步:右键鼠标,如图所示选择 第二步:点击OK就可以 ...

  5. Scala进阶之路-尾递归优化

    Scala进阶之路-尾递归优化 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 递归调用有时候能被转换成循环,这样能节约栈空间.在函数式编程中,这是很重要的,我们通常会使用递归方法来 ...

  6. c# 打印 bartender

    参考: 官网  https://www.seagullscientific.com/label-software/barcode-label-design-and-printing 文章 http:/ ...

  7. bootstrap3 input 验证样式【转】

    feedback <form role="form"> <div class="form-group has-success has-feedback& ...

  8. PHP7 学习笔记(九)phpsize动态编译openssl扩展 (微信公众平台)

    先吐槽,微信公众平台授权出问题了,尽然访问不了 一.问题描述: 使用PHP中的库函数file_get_contents时出现Unable to find the wrapper "https ...

  9. spring boot(十):定时任务

    springboot默认已经帮我们实行了,只需要添加相应的注解就可以实现. 1.pom包配置 <dependency> <groupId>org.springframework ...

  10. Java图片比对

    在自动化测试中,除了普通的值验证,经常还有一些图片验证,比如图片的匹配率,输出图片的差异图片等.本文主要用到了BufferedImage类来操作图片比对和输出差异图片,大体的思路如下: 1. 通过Im ...