Nodejs入门级
应用不同模块分析
我们来分解一下这个应用,为了实现一个应用,我们需要实现哪些部分呢?
- 我们需要提供Web页面,因此需要一个HTTP服务器
- 对于不同的请求,根据请求的URL,我们的服务器需要给予不同的响应,因此我们需要一个路由,用于把请求对应到请求处理程序(request handler)
- 当请求被服务器接收并通过路由传递之后,需要可以对其进行处理,因此我们需要最终的请求处理程序
- 路由还应该能处理POST数据,并且把数据封装成更友好的格式传递给请求处理入程序,因此需要请求数据处理功能
- 我们不仅仅要处理URL对应的请求,还要把内容显示出来,这意味着我们需要一些视图逻辑供请求处理程序使用,以便将内容发送给用户的浏览器
- 最后,用户需要上传图片,所以我们需要上传处理功能来处理这方面的细节
注:使用Node.js时,我们不仅仅在实现一个应用,同时还实现了整个HTTP服务器
构建应用的模块
把不同功能的代码放入不同的模块中,保持代码分离,保持代码的可读性。必须有一个干净的主文件 index.js,和一个保存着HTTP服务器代码的模块 server.js
在你的项目的根目录下创建一个叫server.js的文件,并写入以下代码:
var http = require("http"); http.createServer(function(request, response) {
response.writeHead(, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(); //打开浏览器访问 http://localhost:8888/或者:listen(1337, "127.0.0.1"); //打开浏览器访问 http://127.0.0.1:1337/
命令行:node server.js
打开浏览器访问地址,会看到一个写着“Hello World”的网页。
代码逻辑:
1. 全局方法 require() 是用来导入模块的,一般直接把 require() 方法的返回值赋值给一个变量,在 JavaScript 代码中直接使用此变量即可 。require("http") 就是加载系统预置的 http 模块。
2. http.createServer 是模块的方法,目的就是创建并返回一个新的web server对象,并且给服务绑定一个回调,用以处理请求。
3. 通过 http.listen() 方法就可以让该 HTTP 服务器在特定端口监听。
Nodejs入门级的更多相关文章
- Nodejs入门级基础+实战
这篇随笔将会按序记录如下内容: NodeJs 简介 安装 NodeJs HTTP 模块.URL 模块 CommonJs 和 Nodejs 中自定义模块 NodeJs FS 模块 利用 HTTP 模块 ...
- nodejs实现前后端交互
本人nodejs入门级选手,站在巨人(文殊)的肩膀上学习了一些相关知识,有幸在项目中使用nodejs实现了前后端交互,因此,将整个交互过程记录下来,方便以后学习. 本文从宏观讲述nodejs实现前后端 ...
- nodejs实现定时爬取微博热搜
The summer is coming " 我知道,那些夏天,就像青春一样回不来. - 宋冬野 青春是回不来了,倒是要准备渡过在西安的第三个夏天了. 废话 我发现,自己对 coding 这 ...
- nodejs创建一个HTTP服务器 简单入门级
const http = require('http');//请求http.createServer(function(request, response){ /*createServer该函数 ...
- 入门级Nginx反向代理nodejs
本着想实现前后端分离开发的初衷,我决定学习一下关于nignx反向代理的配置. 1.下载Nginx稳定版本 2.打开nginx配置文件 nginx.conf: 3.在http模块的server部分配置 ...
- Nodejs 项目开发
最近这几个月都在学习nodejs. 国内nodejs的资料相对较少,就我所搜索到的,CSDN目前的代码托管平台有不少从github弄过来的开源镜像,其它的不错的社区有cnodejs,byvoid的个人 ...
- NodeJS+Express+MongoDB 简单实现数据录入及回显展示【适合新人刚接触学习】
近期在看NodeJS相关 不得不说NodeJS+Express 进行网站开发是很不错,对于喜欢玩JS的来说真是很好的一种Web开发组合 在接触NodeJS时受平时Java或者C#中API接口等开发的思 ...
- mongodb入门级的视频教程-简易客户管理系统制作
本套教程作为mongodb入门级的视频教程,首先讲解了mongodb的下载.安装,环境变量的设置.启动mongodb和将mongodb安装成为windows服务.然后进一步讲解了mongodb里面集合 ...
- 阿里云服务器(ECS)从购买到配置NodeJS环境
本人入门级前端,对服务器不熟悉,这是自己摸索的过程,可能会有错误! 1.购买 阿里云服务器有个活动是新用户前六个月可以免费试用,但是每天早上发放一定的名额,但为了方便,我买了18RMB的捆绑套餐,也是 ...
随机推荐
- 剑指offer:机器人的运动范围(回溯法DFS)
题目描述 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机器人能 ...
- Java 集合系列之五:Map基本操作
1. Java Map 1. Java Map 重要观点 Java Map接口是Java Collections Framework的成员.但是它不是Collection 将键映射到值的对象.一个映射 ...
- Linux 中【./】和【/】和【.】之间有什么区别?
/是指根目录,就和Windows的我的电脑那个位置差不多../是指用户所在的当前目录.如下所示:[root~]# cd /etc[root etc]# pwd/etc[rootetc]# cd /[r ...
- 【K8S】Kubernetes: --image-pull-policy always does not work
https://stackoverflow.com/questions/45905999/kubernetes-image-pull-policy-always-does-not-work
- C# PKCS7加密解密
//加密字符串 public string Encryption(string toE) { //加密和解密必须采用相同的key,具体自己填写,但是必须为32位 "); RijndaelMa ...
- C++ getline()的两种用法
getline():用于读入一整行的数据.在C++中,有两种getline函数.第一种定义在头文件<istream>中,是istream类的成员函数:第二种定义在头文件<string ...
- Jumpserver 5.2版本安装与部署
组件说明 Jumpserver 为管理后台, 管理员可以通过 Web 页面进行资产管理.用户管理.资产授权等操作, 用户可以通过 Web 页面进行资产登录, 文件管理等操作 koko 为 SSH Se ...
- python入门之模块
序什么是包包的作用一.什么是模块二.模块的三种来源三.模块的四种表现形式四.为什么要使用模块五. 如何创建,编写模块,并使用模块5.1 给模块起别名5.2 模块的导入方式5.3 循环导入问题 TOC ...
- Docker从入门到实践(3)
三.安装 Docker Docker 分为 CE 和 EE 两大版本.CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月. Docker CE 分为 ...
- xunsearch安装
1.下载 sudo wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2 2.解压 sudo tar -xvjf x ...