轻松创建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 npm install全局安装和本地安装的区别
Jun 05 NodeJs
基于 Docker 开发 NodeJS 应用
Jul 30 NodeJs
Nodejs极简入门教程(三):进程
Oct 27 NodeJs
nodejs实现HTTPS发起POST请求
Apr 23 NodeJs
nodeJs爬虫获取数据简单实现代码
Mar 29 NodeJs
详解nodejs中exports和module.exports的区别
Feb 17 NodeJs
angular2+nodejs实现图片上传功能
Mar 27 NodeJs
使用 NodeJS+Express 开发服务端的简单介绍
Apr 07 NodeJs
NodeJS实现视频转码的示例代码
Nov 18 NodeJs
nodejs实现截取上传视频中一帧作为预览图片
Dec 10 NodeJs
M2实现Nodejs项目自动部署的方法步骤
May 05 NodeJs
Node.js实现爬取网站图片的示例代码
Apr 04 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
SONY SRF-M100的电路分析
2021/03/02 无线电
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
php实现文件上传基本验证
2020/03/04 PHP
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
2016/09/04 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
关于jquery中attr()和prop()方法的区别
2018/05/28 jQuery
详解微信UnionID作用
2019/05/15 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
django与小程序实现登录验证功能的示例代码
2019/02/19 Python
python实现简单银行管理系统
2019/10/25 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
python 解压、复制、删除 文件的实例代码
2020/02/26 Python
keras导入weights方式
2020/06/12 Python
python是怎么被发明的
2020/06/15 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
应届生妇产科护士求职信
2013/10/27 职场文书
2014年资料员工作总结
2014/11/18 职场文书
个人党性分析材料
2014/12/19 职场文书
大学学生会辞职信
2015/05/13 职场文书
初中政治教学反思
2016/02/23 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
新手入门Mysql--概念
2021/06/18 MySQL