在此之前,确保你已经安装了Node(并且你很会折腾) - 有人说,Java脚本和Java最本质的区别就是一个超会更新,一个死守旧。

如果你没有安装,请去官网下载并且安装:http://nodejs.cn/download/

中文文档:http://nodejs.cn/api/

先来说说node的优点以及缺点

粗略的来说node的优点即在于它是单线程、运行环境要求低,缺点同样明显的就是它一旦出现问题,全部瘫痪。

而php和java是多线程运行的,互不影响,但占资源高。

看一个小例子(菜鸟教程里面的)

  1. var http = require('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);
  13.  
  14. // 终端打印如下信息
  15. console.log('Server running at http://127.0.0.1:8888/');
  1. // 请求http包
  2. var http = require('http');
  3.  
  4. // 创建一个http线程
  5. http.createServer(function(request, response) {
  6.  
  7. // 发送 HTTP 头部
  8. // HTTP 状态值: 200 : OK
  9. // 内容类型: text/plain
  10. response.writeHead(200, { 'Content-Type': 'text/plain' });
  11.  
  12. // 发送响应数据 "Hello World"
  13. response.end('Hello World\n');
  14. }).listen(8888);
  15.  
  16. // 终端打印如下信息
  17. console.log('Server running at http://127.0.0.1:8888/');

很好,可以运行

默认本地:127.0.0.1

端口自设:8088

我们看看官网API(http自带server)

且每一段代码都会带上res.end() , 这是因为我们要告诉服务器已经完成了.

再来看看这一段代码

  1. var http = require('http');
  2. var fs = require('fs');
  3.  
  4. var server = http.createServer(function(req, res) {
  5.  
  6. // 请求路由 ==是指字符串比较
  7. if (req.url == "/index") {
  8. fs.readFile('index.html', function(err, data) {
  9. res.writeHead(200, { "Content-type": "text/html;charset=utf-8" });
  10. res.end(data);
  11. });
  12. } else {
  13. fs.readFile('404.html', function(err, data) {
  14. res.writeHead(200, { "Content-type": "text/html;charset=utf-8" });
  15. res.end(data);
  16. });
  17. }
  18. });
  19.  
  20. server.listen(80, '127.0.0.1');
  1. // 导入http
  2. var http = require('http');
  3. // 导入fs(文件读取服务)
  4. var fs = require('fs');
  5.  
  6. var server = http.createServer(function(req, res) {
  7. // 其实nodejs最难的一点就是管理路由 - 它和其它web服务器不一样(因此灵活性超强)
  8.  
  9. // 请求路由 ==是指字符串比较
  10. if (req.url == "/index") {
  11. // 请求地址index,读取文件index.html
  12. fs.readFile('index.html', function(err, data) {
  13. res.writeHead(200, { "Content-type": "text/html;charset=utf-8" });
  14. res.end(data);
  15. });
  16. } else {
  17. // 请求地址不存在,读取文件404.html,并且返回
  18. fs.readFile('404.html', function(err, data) {
  19. // 请求头 - 根据类型不同而不同
  20. res.writeHead(200, { "Content-type": "text/html;charset=utf-8" });
  21. res.end(data);
  22. });
  23. }
  24. });
  25.  
  26. // 监听80端口,并且是本地地址
  27. server.listen(80, '127.0.0.1');

通过 localhost/index 就可以访问到

index.html了。

通过localhost/other 就可以访问到

其它页面了。

你试一试链接本地图片或者css以及其它资源,感受一下node路由的强大!

nodejs - 创建服务器(1)的更多相关文章

  1. Express与NodeJs创建服务器的两种方法

    NodeJs创建Web服务器 var http = require('http'); var server = http.createServer(function(req, res) { res.w ...

  2. 用nodejs创建服务器显示html页面

    nodejs版本:v10.14.2 1.首先准备一个简单的html页面 <!DOCTYPE html> <html lang="en"> <head& ...

  3. nodejs创建服务器

      'use strict'; //加载http模块: const http = require('http'); //创建一个http服务: const server = http.createSe ...

  4. nodejs创建http服务器

    之前有简单介绍nodejs的一篇文章(http://www.cnblogs.com/fangsmile/p/6226044.html) HTTP服务器 Node内建有一个模块,利用它可以很容易创建基本 ...

  5. NodeJs 创建 Web 服务器

    以下是演示一个最基本的 HTTP 服务器架构(使用8081端口),创建 ser.js 文件,代码如下所示: var http = require('http'); var fs = require(' ...

  6. Nodejs创建https服务器(Windows 7)

    为了实验一下WebRTC,搭了个简单的https服务器.说说步骤: 生成OpenSSL证书 使用Nodejs的https模块建立服务器 OpenSSL 证书 我机子Windows 7,安装了Cygwi ...

  7. Nodejs创建HTTPS服务器

    Nodejs创建HTTPS服务器 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Jav ...

  8. Nodejs学习笔记(3) 创建服务器:Web 模块(http)与 express 框架

    目录 参考资料 1. 使用 http 模块创建服务器 1.1 实现思路及代码 1.2 HTTP 结构 1.2.1 Request中的重要字段 1.2.2 Response 头信息:文件类型.状态码.连 ...

  9. NodeJs创建一个简单的服务器

    步骤: 1 //模块化引入 2 let http = require ("http"); 3 4 //创建服务器 5 http.createServer(function(requ ...

随机推荐

  1. IO Streams:来源于命令行的IO

    简介 程序经常从命令行运行并与在命令行环境中的用户交互.Java平台支持这种互动的方式有两种:通过标准流,通过控制台 标准流 标准流是许多操作系统的一项功能.默认情况下,他们从键盘输入读取和输出到显示 ...

  2. 查看apache和nginx的负载和连接数情况

    1.查看apache当前并发访问数:netstat -an | grep ESTABLISHED | wc -l对比httpd.conf中MaxClients的数字差距多少. 2.查看有多少个进程数: ...

  3. Android EditText默认不弹出输入法,以及获取光标,修改输入法Enter键的方法

    一.Android EditText默认不弹出输入法的办法:1. 在AndroidManifest.xml中将需要默认隐藏键盘的Activity中添加属性即可(常用此方法) android:windo ...

  4. try 与catch的作用

    首先要清楚,如果没有try的话,出现异常会导致程序崩溃.而try则可以保证程序的正常运行下去,比如说: try{ int i = 1/0; }catch(Exception e){ e.printSt ...

  5. 个人环境搭建——版本控制SVN

    版本控制SVN SVN服务器配置: 第一部分:svn服务器搭建(主要是四步走) 参考:http://www.son1c.cn/show/920.html 一,安装Subversion sudo apt ...

  6. 百度地图API 根据地址查询经纬度

    html页面.引用上API: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> ...

  7. java递归处理文件夹和文件

    import java.io.File; /** * 文件综合使用示例 */ public class FileDelete { public static void main(String[] ar ...

  8. 上传图片获取base64位编码

    function loadImg(){ //获取文件 ].files[]; //创建读取文件的对象 var reader = new FileReader(); //创建文件读取相关的变量 var i ...

  9. 前端--CSS之使用display:inline-block来布局(转)

    CSS之使用display:inline-block来布局   css之display:inline-block布局 1.解释一下display的几个常用的属性值,inline , block, in ...

  10. Linux服务器之SSH

    SSH 1.ssh是安全的加密协议,用于远程连接linux服务器. 2.ssh默认端口是22,安全协议版本ssh2. 3.ssh服务端主要包含两个服务功能ssh远程连接,sftp服务. 4.linux ...