轻松创建nodejs服务器(3):代码模块化


Posted in NodeJs onDecember 18, 2014

nodejs的功能块大都以模块的形式存在的。

通常会有一个统一入口index.js,然后调用不同的模块来完成我们需要的功能。

我们先来看看怎么把server.js变成一个模块让 index.js 主文件使用。

var http = require("http");

...

http.createServer(...);

“http” 是nodejs自带的模块,我们在我们的代码中请求它并把返回值赋给一个本地变量。 我们可以用这个变量来调用 http 模块所提供的公共方法的对象,变量名不是固定的,你完全可以按照你的喜好来命名这个变量,不过我建议直接用模块名来做变量名,可以使代码可读性更高些。

我们按这个方式改一下server.js里的代码,我们把代码放到start()函数里,并通过expors将代码提供给其他页面引用。

var http = require("http");

function start() {

 function onRequest(request, response) {

  console.log("Request received.");

  response.writeHead(200, {"Content-Type": "text/plain"});

  response.write("Hello World");

  response.end();

 }

 http.createServer(onRequest).listen(8888);

 console.log("Server has started.");

}

exports.start = start;

这样,我们现在就可以创建我们的主文件 index.js 并在其中启动我们的HTTP了,虽然服务器的代码还在 server.js 中。

创建 index.js 文件并写入以下内容:

var server = require("./server");

server.start();

执行node index.js

这样做就可以把应用的不同部分放入不同的文件里,并且通过生成模块的方式把它们连接到一起了。

下一节我们要了解一下路由

NodeJs 相关文章推荐
nodejs之请求路由概述
Jul 05 NodeJs
详解Nodejs基于mongoose模块的增删改查的操作
Dec 21 NodeJs
基于Nodejs利用socket.io实现多人聊天室
Feb 22 NodeJs
nodejs个人博客开发第四步 数据模型
Apr 12 NodeJs
手把手教你把nodejs部署到linux上跑出hello world
Jun 19 NodeJs
Mac 安装 nodejs方法(图文详细步骤)
Oct 30 NodeJs
nodejs多版本管理总结
Apr 03 NodeJs
Nodejs实现爬虫抓取数据实例解析
Jul 05 NodeJs
nodejs读取本地中文json文件出现乱码解决方法
Oct 10 NodeJs
nodeJS进程管理器pm2的使用
Jan 09 NodeJs
nodejs开发一个最简单的web服务器实例讲解
Jan 02 NodeJs
分享node.js实现简单登录注册的具体代码
Apr 26 NodeJs
轻松创建nodejs服务器(2):nodejs服务器的构成分析
Dec 18 #NodeJs
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
Dec 18 #NodeJs
Nodejs实现多人同时在线移动鼠标的小游戏分享
Dec 06 #NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 #NodeJs
nodejs中简单实现Javascript Promise机制的实例
Dec 06 #NodeJs
nodejs实现的一个简单聊天室功能分享
Dec 06 #NodeJs
详谈nodejs异步编程
Dec 04 #NodeJs
You might like
生成静态页面的PHP类
2006/11/25 PHP
关于时间计算的结总
2006/12/06 PHP
菜鸟学PHP之Smarty入门
2007/01/04 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
javascript 学习之旅 (3)
2009/02/05 Javascript
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
通过实例学习Python Excel操作
2020/01/06 Python
django有哪些好处和优点
2020/09/01 Python
HTML5新增form控件和表单属性实例代码详解
2019/05/15 HTML / CSS
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
2014/07/11 面试题
汽车销售求职自荐信
2013/10/01 职场文书
店长助理岗位职责
2013/12/13 职场文书
体育专业个人求职信范文
2013/12/27 职场文书
大学活动策划书范文
2014/01/10 职场文书
软环境建设心得体会
2014/09/09 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
音乐研修感悟
2015/11/18 职场文书
go语言中GOPATH GOROOT的作用和设置方式
2021/05/05 Golang
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python