nodejs--模块

在客户端可以将所有的javascript代码分割成几个JS文件,然后在浏览器中将这些JS文件合并.但是在nodejs中是通过以模块为单位来划分所有功能的.每一个模块为一个JS文件,每一个模块中定义的全局变量或函数的作用范围也被限定在这个模块之内,只有使用exports对象才能将其传递到外部:

  exports.printFoo = function(){return "foo"};

上面代码中,我们定义了一个printFoo函数,函数内部返回foo字符串,同时,我们使用exports对象使模块外部可以访问这个printFoo函数.

引用模块时,我们可以使用require函数,例如,将上面的这个具有frintFoo函数的模块文件保存为foo.js文件之后,可以通过以下代码来访问模块中的printFoo函数. 

1 var foocc=crequire(‘./foo.js‘); //通过foo.js文件路径加载foo.js模块;
2 console.log(foo.printFoo()); //访问foo.js模块内的printFoo函数

第一行代码中,我们读取foo,js模块并通过foo对象来引用该模块,在第二行代码中,我们通过foo对象来引用该模块,在第二行代码中,我们通过foo对象来访问模块内的printFoo函数,

控制台窗口将输出"foo"字符串.

在nodejs中,可以直接使用require函数并将模块名设置为require函数的参数值得方法来引用这些模块.

时间: 2024-09-28 20:23:09

nodejs--模块的相关文章

NodeJS模块、包、NPM

1.NodeJS模块        每一个Nodejs都是一个NodeJS模块,包括JS文件,JSON文本文件,二进制模块文件. a.模块的应用               新建一个文件mytest.js,输入如下代码: function hello() { console.log('Hello'); } function world() { console.log('World'); } 这就是一个NodeJS模块,但是怎么在其他模块中引入呢?我们需要为模块提供对外的接口,这就用到module

利用nodejs模块缓存机制创建“全局变量”

在<深入浅出nodejs>有这样一段(有部分增减): 1.nodejs引入模块分四个步骤 路径分析 文件定位 编译执行 加入内存 2.核心模块部分在node源代码的编译过程中就编译成了二级制文件,在node启动时就直接加载如内存,所以这部分模块引入时,前三步省略,直接加入. 3.nodejs的模块加载和浏览器js加载一样都有缓存机制,不同的是,浏览器仅仅缓存文件,而nodejs缓存的是编译和执行后的对象(缓存内存). 基于以上三点:我们可以编写一个模块,用来记录长期存在的变量.例如:我可以编写

es6模块 nodejs模块和 typescript模块

es6模块 import和export nodejs模块 require和module.exports typescript模块 module和export 原文地址:https://www.cnblogs.com/mttcug/p/8120274.html

nodejs模块pg操作postgres数据库

postgres数据库安装:windows安装解压版postgresql 1.使用nodejs模块pg操作postgres数据库 const pg = require('pg') // 数据库配置 var config = { user: "wenbin.ouyang", host: 'localhost', database: "test", password: "", port: 5432, // 扩展属性 max: 20, // 连接池最大

学习搭建一个小网站_3_安装NodeJS模块_建立express

nodejs安装这些模块: express, express-generator, mongodb, mysql 简单步骤:建立目录 d:\js\BlogWebSite cmd->cd d:->mkdir js->cd js->mkdir BlogWebSite->cd BlogWebSite cmd下首先安装全局模块:( -g 参数是全局安装 ) 1. npm install express -g 2. npm install express-generator -g 在j

使用makefile编译nodejs模块

使用过node-gyp编译nodejs的addon插件的人,一定很好奇,node-gyp到底帮你做了什么事情,还有,如果我们自己做,难度到底如何.本文不作makefile文件语法的讲解,如果你不懂, 没关系,能看懂基本流程就好.抛开node-gyp,你会发现,有些复杂的东西其实是基于很简单的原理. 环境 操作系统为centos7,已经安装了nodejs,版本为0.10.36,其实差不多新的版本就行.编译链也已经准备好,g++命令啦. 编写代码 源文件hello.cc,很简单,基本和官网的hell

NodeJS模块系统

为了让NodeJS的文件可以相互调用,NodeJS提供了一个简单的模块系统. 模块是NodeJS应用程序的基本组成部分,文件和模块是一一对应的,换言之,一个NodeJS文件就是一个模块,这个文件可能是javascript代码,JSON或者编译过的C/C++扩展. 创建模块 // hello.js exports.world = function(){ console.log('hello world'); } // main.js var hello = require('./hello');

nodejs 模块以及加载机制,主要讨论找不到模块的问题

最主要的一个思想,加载模块无非就是找到模块在哪,只要清楚了模块的位置以及模块加载的逻辑那么找不到模块的问题就迎刃而解了.本文只是综合了自己所学的知识点进行总结,难免出现理解错误的地方,请见谅. nodejs的模块分类 1.原生模块:http  fs path等,这些模块都在源码包的lib目录下面,nodejs安装好之后是找不到这些模块的,都作为node.exe的一部分了,require这些模块永远没问题的,如果哪天出现问题了,直接重启电脑或者重装node.有什么疑问可以通过下载源码对这些原生模块

nodejs模块中exports和module.exports的区别

通过Node.js的官方API可以看到Node.js本身提供了很多核心模块 http://nodejs.org/api/ ,这些核心模块被编译成二进制文件,可以require('模块名')去获取:核心模块具有最高的加载优先级(有模块与核心模块同名时会体现) 文件模块访问方式通过require('/文件名.后缀') require('./文件名.后缀') requrie('../文件名.后缀') 去访问,文件后缀可以省略:以"/"开头是以绝对路径去加载,以"./"开头

nodejs模块——Event模块

Node.js中,很多对象会发出事件.如,fs.readStream打开文件时会发出一个事件. 所有发出事件的对象都是events.EventEmitter的实例,可以通过require("event");获得event模块. 监听器函数(listeners)可以添加给对象,对象发出事件时,对应的函数就会被执行.在监听器函数中,this引用的是它(监听器函数) 一.Class:events.EventEmitter 通过require('events').EventEmitter得到E