NodeJS模块的使用

在NodeJS中,每个js文件就是一个模块,而文件路径就是模块名, 在编写每个模块时,都有require、exports、module三个预先定义好的变量可供使用。

require函数用于在当前模块中加载和使用别的模块,其中js扩展名可省略,require多次不会重复初始化,如果传递给require函数的是NodeJS内置模块名称,不做路径解析,require(‘express‘);

exports对象是当前模块的导出对象,用于导出模块公有方法和属性。别的模块通过require函数使用当前模块时得到的就是当前模块的exports对象。

导入导出结合使用:

hello.js

//写法1
// exports.hello=function(){
//     console.log(‘hello world‘);
// }

//写法2
function hello(){
    console.log(‘hello world‘);
}
exports.hello=hello;

//写法3
// this.hello=function(){
//     console.log(‘hello world‘);
// }

test.js

var me=require(‘./hello.js‘);
me.hello();

还有一种写法:

hello.js

//写法4
module.exports=function(){
    console.log(‘hello world‘);
}

main.js

var me=require(‘./hello.js‘);
me();

module通过module对象可以访问到当前模块的一些相关信息,但最多的用途是替换当前模块的导出对象。

//写法1
// exports.hello=function(){
//     console.log(‘hello world‘);
// }

//写法2
function hello(){
    console.log(‘hello world‘);
}
exports.hello=hello;

//写法3
// this.hello=function(){
//     console.log(‘hello world‘);
// }
mordel.exports=function(){
    console.log(‘bad world‘);
}

时间: 2024-10-17 13:50:00

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