当前标签 / 模块化 / 总共3篇

Nodejs实现的一个网络请求模块化基础案例

本篇文章是基于我前面写过的 《Nodejs 结构和创建》 的进一步实践。在我们面对复杂的业务逻辑的时候就需要一个更好的模块和分职责的结构,今天我们通过一个简单的案例来看看如何创建一个路由 Route 并在 Nodejs 中分离业务逻辑。

Nodejs 网络请求

前面提到过使用 Nodejs 启动一个服务很简单,例如我们启动一个默认端口是 3000 的服务:

var http = require('http');

http.createServer(function(req, res){
    res.writeHead(200, {'Content-Type' : 'text/html'});
    res.write('<h1>Node.js</h1>');
    res.end('<p>Hello World</p>');
}).listen(3000);

console.log('HTTP server is listening at prot 3000.');

这些代码没啥特别的地方,可能这里大家比较好奇的是这个 http 模块到底是个什么,这个是 Nodejs 的一个内置的核心模块(模块和包的概念前面已经提到过了),Nodejs 内置核心模块清单如下:

模块名说明
http提供HTTP服务器功能。
url解析URL。
fs与文件系统交互。
querystring解析URL的查询字符串。
child_process新建子进程。
util提供一系列实用小工具。
path处理文件路径。
crypto提供加密和解密功能,基本上是对OpenSSL的包装。

阅读更多

立即执行函数和模块化

参考文档:《深入理解js立即执行函数》

概述

很多时候我们需要创建一个私有的命名空间,该命名空间的变量和方法,不会破坏污染全局的命名空间。此时若是想访问全局对象,将全局对象以参数形式传进去即可,如jQuery代码结构:

(function(window, undefined){ 
    //jquery code
})(window);

匿名函数和表达式

在了解立即执行函数之前先明确一下函数声明、函数表达式及匿名函数的形式:

//函数声明
function test(){  

}

//函数表达式
var test = function(){

}

//匿名函数
function(){

}

上面只有函数表达式是立即执行的。

阅读更多

模块化开发思路

摘要

移动应用开发早期很少涉及一些复杂的大型项目和复杂项目需求(Android还有一部分原因eclipse开发IDE限制),然而随着移动应用发展迫使我们要对项目进行一些结构上的优化。组件化就是这样的一种优化。

个人感觉优点如下:

  1. 解放生产力,提高效率。

  2. 项目重用性和可维护性提高。

  3. 独立编译,独立测试,节约时间。

  4. 分工更明确细致,人员成本降低。

  5. 插拔性极高,结构清晰规范。

阅读更多