学习node.js第一天:node模块化

简介:

       上一篇说完了如何创建一个简单的http服务,现在说说模块化.

        

        在开发过程中,经常会说模块化这个词.那都表示什么含义呢?一般都有以下几层意思:

        1.业务解耦.

        业务耦合太多,后期不便于扩展和维护.这种情况常常出现于创业公司,当公司业务发展起来的时候,就会发现业务系统有严重的瓶颈,服务能力不足会制约公司的发展.所以需要把不相关的业务做成独立的系统.

        2.微服务

        在大的企业中经常会出现多种系统,每种系统又用到相同的功能.比喻说上传图片,如果每个开发小组都去造轮子,那就太浪费了.如果将图片上传做成单独的服务,以开发API的方式提供给大家使用,就会系统不少效率.        

        3.功能模块化

        在同一个系统中可能会出现交叉使用别的模块的数据,大家都去操作别的业务的对应的表数据.在这种情况下,很难避免数据不会出现问题.吃蛋糕的人太多,而蛋糕只有一块,大家都动手去切的后果会怎么样?解决方案也一样,负责该模块的开发人员封装好该业务的代码,提供接口即可.而此时需要该使用该模块的人只管去调用,而不必去管背后逻辑的实现.


        讲了废话一堆,现在就说说node怎么进行代码模块化,打包服务,方便其他地方调用.


        模块化http服务:httpServer.js

        

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//业务功能:将http服务打包为一个模块,方便在其他地方调用
 
//引入http模块
var  http = require( 'http' );
 
//封装启动http服务
var  startHttp =  function  () {    
     var  onRequest =  function  (request, response) {        
         response.writeHead(200, { 'Content-Type' 'text/plain;charset=UTF-8' });        
         response.write( '大家好' );        
         response.end();    
     }    
     
     http.createServer(onRequest).listen( '8888' );    
     console.log( 'Http server has started.' );
}
 
//exports生成模块beginStart,作用是调用启动http服务
exports.beginStart = startHttp;

        

          调用模块服务

        先创建一个统一入口的文件index.js

    

1
2
3
4
//引入http Server模块
var  httpServer=require( './httpServer' );
//启动http server服务
httpServer.beginStart();


        最后可以在终端启动服务:node index.js
        打开浏览器http://localhost:8888,可以看到效果










本文转自 hgditren 51CTO博客,原文链接:http://blog.51cto.com/phpme/1893920,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
JavaScript 前端开发 测试技术
如何编写JavaScript模块化代码
如何编写JavaScript模块化代码
12 0
|
2月前
|
JavaScript 前端开发 开发者
js模块化的好处
js模块化的好处
14 0
|
10天前
报错/ ./node_modules/axios/lib/platform/index.js Module parse failed: Unexpected token (5:2)怎么解决?
报错/ ./node_modules/axios/lib/platform/index.js Module parse failed: Unexpected token (5:2)怎么解决?
|
3天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习
|
4天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第二章(Node连接本地数据库)
【4月更文挑战第2天】本文介绍了如何使用Node.js连接本地MySQL数据库。首先,提到了在MySQL官网下载安装数据库和使用Navicat for MySQL进行数据库管理。接着,通过`yarn add mysql`在项目中安装数据库依赖。然后,创建`app.js`文件,设置数据库连接参数,并建立连接进行查询操作。遇到导入模块的错误后,修改导入方式为CommonJS语法。
16 1
|
25天前
|
Web App开发 JavaScript 前端开发
js开发:请解释什么是Node.js,以及它的应用场景。
Node.js是基于V8的JavaScript运行时,用于服务器端编程。它的事件驱动、非阻塞I/O模型使其在高并发实时应用中表现出色,如Web服务器、实时聊天、API服务、微服务、工具和跨平台桌面应用(使用Electron)。适用于高性能和实时需求场景。
18 4
|
26天前
|
JavaScript 前端开发
js开发:请解释什么是模块化(modularization),并说明如何在JavaScript中实现模块化。
模块化将复杂系统拆分为松散耦合的模块,提高代码可读性、可维护性、可复用性和可扩展性。JavaScript模块化历经CommonJS(Node.js中常见,使用`require()`和`module.exports`)、AMD(RequireJS,异步加载,`define()`和`require()`)和ES6 Modules(官方标准,`import`和`export`)三个阶段。打包工具如Webpack、Rollup处理兼容性问题,使模块化代码能在各种环境中运行。
|
30天前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
1月前
|
JavaScript 前端开发 Serverless
函数计算新功能— 支持 Node.js 18 、Node.js 20 运行时
从2024年2月起,函数计算正式发布 Node.js 18 运行时和 Nodejs.20 运行时,函数计算2.0和函数计算3.0都支持新的运行时,目前新运行时处在公测状态,欢迎大家来体验。
454 0
|
1月前
|
JavaScript 前端开发
JavaScript模块化的那些事最骚操作
JavaScript模块化的那些事最骚操作