前言:工欲善其事,必先利其器.模块系统是nodejs组织管理代码的利器也是调用第三方代码的途径,本文将详细讲解nodejs的模块系统.在文章最后实例分析一下exprots和module.exprots. nodejs的模块 什么是模块? node.js通过实现CommonJS的Modules/1.0标准引入了模块(module)概念,模块是Node.js的基本组成部分.一个node.js文件就是一个模块,也就是说文件和模块是一一对应的关系.这个文件可以是JavaScript代码,JSON或者编译…
为了让nodejs的文件可以相互调用,nodejs提供了一个简单的模块系统. 模块:是nodejs应用程序的基本组成部分,文件和模块一一对应.即,一个nodejs文件就是一个模块,这个文件可能是javascript代码.json或者编译过的c/c++ 扩展. 创建模块 Node.js 提供了exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象. 1.模块文件为许多可导出的方法组成…
一.简介 Nodejs 有一个简单的模块加载系统.在 Nodejs 中,文件和模块是一一对应的(每个文件被视为一个独立的模块),这个文件可能是 JavaScript 代码,JSON 或者编译过的C/C++ 扩展,例如: /** *foo.js *将这个js文件导出为模块 */ exports.hello = function() { console.log("hello Nodejs!"); } /** *main.js *main.js和foo.js在同一目录下 *在控制台输出:he…
global对象 浏览器端JavaScript中的全局对象为"window",在浏览器中定义的变量都会成为"window"对象的属性. 不像浏览器端JavaScript,在Nodejs中没有window对象,Nodejs中的全局对象为"global",并且我们定义的变量不会作为"global"的属性.Nodejs遵循CommonJS规范. 模块包裹函数 在Nodejs应用中,每个文件都是一个模块,所有代码都在模块作用域中执行.…
一.路由机制(静态资源文件处理) 1.1 Nodejs没有根目录 MIME类型:http://www.w3school.com.cn/media/media_mimeref.asp 在Apache中,它会自动将htdocs文件夹提供静态化路由服务. 但是Nodejs没有这个机制. 在文件夹中创建这样的层次目录: ┠ www ┋┠ a ┋┋┠ b ┋┋┋┠ page.html ┠ 11-Nodejs没有根目录容器.js 访问的时候,可以看见page.html页面: var http = requi…
  一.前言                                                                                         这篇文章主要涉及: 1.模块中exprots和module.exprots 2.require加载标识符分析 3.npm常用指令总结 二.主要内容                                                                                 …
ABP框架 - 模块系统 ABP框架 - 启动配置 Module System Startup Configuration ABP源码分析三:ABP Module ABP源码分析四:Configuration 基于Abp模块化.插件化的设计,开发人员可以将自定义的功能以模块的形式集成到项目中.通常地,一个程序集作为一个模块.如果你的应用是多个程序集,建议为每个程序集定义一个模块. 模块的加载 模块和插件 插件: 模块及插件的加载路线 1. 扩展的HttpApplication对象(在Abp.We…
一.简要说明 本篇文章主要分析 Abp vNext 当中的模块系统,从类型构造层面上来看,Abp vNext 当中不再只是单纯的通过 AbpModuleManager 来管理其他的模块,它现在则是 IModuleManager 和 IModuleLoader 来协同工作,其他的代码逻辑并无太大变化. Abp vNext 规定每个模块必须继承自 IAbpModule 接口,这样 vNext 系统在启动的时候才会扫描到相应的模块.与原来 Abp 框架一样,每个模块可以通过 DependsOnAttr…
0.简介 整个 Abp 框架由各个模块组成,基本上可以看做一个程序集一个模块,不排除一个程序集有多个模块的可能性.可以看看他官方的这些扩展库: 可以看到每个项目文件下面都会有一个 xxxModule 的文件,这里就是存放的模块文件,一个模块拥有四个生命周期,分别为 PreInitialize()(预加载).Initialize()(初始化).PostInitialize(初始化完成).Shutdown()(销毁),前三个根据我们上一篇文章的代码可以看到,他是先执行预加载方法,然后执行初始化,最后…
由于TCP/IP是使用最普遍的Internet协议,下面只集中讨论TCP/IP 栈和以太网(Ethernet).术语 LinuxTCP/IP栈和 Linux网络栈可互换使用,因为 TCP/IP栈是 Linux内核的组成部分,也被看作是 Linux默认的网络栈. 一.实例分析中使用的基准测试 1.  NetBench NetBench是一种 Ziff-Davis基准测试, 可以测量文件服务器对来自客户端(向服务器提交网络文件操作的请求)的远程文件 I/O请求进行处理的程度.NetBench报告关于…