node.js中module模块的功能理解与用法实例分析

来源:脚本之家  责任编辑:小易  

(javascript)nodejs不同模块之间如何传值:data.js(获取一个json,cons

本文实例讲述了node.js中module模块的功能理解与用法。分享给大家供大家参考,具体如下:

一、Express框架前面的章节已经介绍过了,可以使用npm来安装node.js模块。具体操作请参

node.js中使用CommonJS规范实现模块功能,一个单独的文件就是一个单独的模块。通过require方法实现模块间的依赖管理。

1、什么是模块呢?我们可以简单的把它看成一个实现单独功能的文件。比如在前端JS中的jQuery.js

通过require加载模块,是同步操作。

node.js中module.export与export的区别。可能是有史以来最简单通俗易懂

加载流程如下:

nodejs的几种模块加载方式一.直接在exports对象中添加方法1. 首先创建一个模块(

1、找到需要加载的模块文件。

怪不得这么多人都喜欢李现,当他穿上西装的时候,气质真绝了在娱乐圈里,每隔一段时间就会有一些新面孔出现在我们的面前。而这段时间最火的那么几个男演员里,一定会有李现的身影。相信由他出演的电视剧《亲爱的热爱的》大家都有所耳闻吧,也正是凭借这部剧,让他的名气大大的提升了起来。今天小编给大家带来一组李现的照片,他穿着一件白色的衬衫,外面是一件深蓝色的西装外套,看起来很是绅士。这件西装看起来很特别,上面有着用“孔雀绿”丝线做成的花纹,在灯光下泛着光泽,真的是非常的华丽。而他单手放在脸前,看着镜头的样子特别的帅气。看到这一张图片,小编终于知道为什么那么多人都喜欢他了。站在电梯门口的他微微的偏着头,皱着眉头的

2、判断是否缓存过,如果没有,则读取模块文件的内容。

受邀回答此问题。之前回答过类似人民币硬币收藏与珍稀度的问题,很多类似的问题因为无论精普制,无论品相与否等因素,空谈价值多寡,无异于不谈剂量说毒性一般。提问来看这是两个问题,第一个问题,长城币有收藏价值吗?肯定有,收藏价值包含诸多,有经济价值,历史价值和文化价值等等。第二个问题,升值空间怎样?升值空间上来说有很多条件,如是过去流通后存下的,那没有什么过多成本,大可长期收藏保存。图上为1980年,1981年和1985年,都是普遍的流通年份而且品相相对一般。相对价值高的1985年普制2角币这里还没有。广义上收藏级装帧发行的长城币,是从1分币到1元币6种币,真正币面有长城图案的其实只是1元币。1980

3、把读取到的内容,封装在一个函数里运行。

其实这不是少数男人面临的问题。抬头纹在男士里已经成为了一个普遍现象。作为一个面部表情很丰富的孩子,卷福也和你一样对它很无奈。一般来说,上了年纪才会有皱纹。而年纪轻轻就有抬头纹主一定要注意下面几个原因。一、防止静态损伤记得视觉系年代,大眼睛是审美标准,很多孩子为了让眼睛看上去比较大,把眉毛死命向上顶。比如小李子同学↓↓如果每天保持这样,久而久之额头就被你挤皱了。皮肤疲劳损伤后难以舒缓和修复,以后哪怕不顶眉头,额头上也会留下浅浅的纹路。左边习惯顶眉毛的孩子,右边由Snow同学来正确示范其实吧,顶眉毛真的不会显得眼睛大,大家应该乘早放弃这种习惯。保持正确的睁眼习惯。二、防止动态损伤一些表情丰富的孩子

(function (exports, require, module, __filename, __dirname) { //模块的代码实际上在这里 });

孕妇吃食用鸡蛋的方法有很多种,孕妇食用鸡蛋主要是为了摄取丰富的营养物质。下面小编从各个方面来分析孕妇吃鸡蛋怎样吃最有营养:一、鸡蛋的做法就营养的吸收和消化来讲,煮蛋能100%吸收消化,炒蛋为97%,轻微炸为98%,过度炸为81.1%,生吃为30%-50%。就上面的数据看来,鸡蛋煮者吃是最营养的。但是放有配料煮者吃,比如茶叶蛋,孕妇是不适合食用的,会影响孕妇肠胃功能,所以孕妇最适合吃水煮蛋。水煮蛋的正确做法:将鸡蛋洗净后,放在盛水的锅内浸泡1分钟,用小火烧开。开后改用文火煮8分钟就可以了。其次,鸡蛋做成流质的也非常好,这样便于孕妇和胎儿吸收,推荐蒸蛋羹和蛋花汤两种做法。二、鸡蛋食用量孕妇吃鸡蛋要

4、返回 module.exports 需要导出的内容。

exports 表示模块的导出对象

require 表示require方法

module 表示当前模块对象

__filename 表示当前文件的绝对路径

__dirname 表示当前文件夹的绝对路径

在模块的内部,this 指向的是 当前模块的导出对象

console.log(this === module.exports); console.log(this === exports);

module对象有不少属性,可以打印出来看看。

console.log(module);

module.id 表示模块的标识符。

module.exports 表示模块的导出对象。

module.parent 表示当前模块的父模块,当前模块是谁加载的。

module.filename 表示模块的绝对路径。

module.loaded 表示是否加载完成。

module.children 表示当前模块加载了哪些模块。

module.paths 表示模块的搜索路径,路径的多少取决于目录的深度。

node.js通过require方法加载文件是同步的,为了提高效率,会缓存已经加载过的文件。

console.log(require.cache);

缓存的key是模块的绝对路径,value是module对象。

require.resolve获取模块的绝对路径,但并不会加载模块。

console.log(require.resolve('./01.js'));

require.main获取入口模块

console.log(require.main);

require.extensions获取模块支持的扩展名

node.js中模块文件分三种:

1、.js模块

2、.json文件模块

3、.node C++扩展二进制模块

console.log(require.extensions);

node.js通过require加载文件时,比如 require('./user') 会先找 user 文件,然后没找到,再找 user.js,再找 user.json,再找 user.node。

node.js的模块分类:

1、核心模块,编译二进制,加载速度最快,像 fs,http,events等。

2、文件模块,保存在硬盘上,加载速度比较慢,通过名称或路径来加载。

3、第三方模块,只指定名称则从node_modules目录下加载,查询的路径包括module.paths和全局目录。

全局目录:

windows中:环境变量NODE_PATH指定的路径。

linux中:$HOME/.node_modules和$HOME/.node_libraries目录

文件模块查找的规则,比如 require('./user') :

1、判断加载的文件是否以绝对路径加载的。

2、如果是绝对路径,则直接加载绝对路径的文件。

3、如果不是,判断文件有没有以 './' ,'../' 开头,如果有则找到该相对路径,如果没有则通过modules.paths和全局目录获取路径。

4、尝试在第3步中的路径下查找 user 文件。

5、如果没有找到,则尝试加扩展名( user.js,user.json,user.node)进行查找。

6、如果还没有,尝试根据包进行查找,user 目录下,包文件描述 package.json 中 main 配置的文件进行加载。

7、如果没有 package.json,则查找 user 目录下, index.js 和 index.node。

8、如果还没有,则找下一个modules.paths。

9、最后还是没有找到,则文件加载失败。

希望本文所述对大家node.js程序设计有所帮助。

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

node.js中npm安装的模块在哪个目录下

npm install在哪个目录下执行就安装在这个目录的node_modules文件夹下。

local本地安装:

npm install xxx 安装到命令行所在目录的node_module目录。

global全局安装:

npm install xxx -g 安装到 \AppData\Roaming\npm\node_modules目录。

扩展资料

Node采用一系列“非阻塞”库来支持事件循环的方式。本质上就是为文件系统、数据库之类的资源提供接口。向文件系统发送一个请求时,无需等待硬盘(寻址并检索文件),硬盘准备好的时候非阻塞接口会通知Node。该模型以可扩展的方式简化了对慢资源的访问, 直观,易懂。

Node使用Module模块去划分不同的功能,以简化应用的开发。Modules模块有点像C++语言中的类库。每一个Node的类库都包含了十分丰富的各类函数,比如http模块就包含了和http功能相关的很多函数,可以帮助开发者很容易地对比如http,tcp/udp等进行操作,还可以很容易的创建http和tcp/udp的服务器。

参考资料来源:百度百科-node.js

如何查看安装的nodejs模块

额~~已采纳的回答什么跟什么呀!!你在cmd里面输入如下命令:

npm help npm

回车就会弹出npm命令的详细说明,说明是展示在浏览器中。在该页面中可以找到查看已安装的nodejs模块的命令是

npm ls

开发中用nodejs做了哪些方面的工作

Node.js使用Module模块去划分不同的功能,以简化应用的开发。Modules模块有点像C++语言中的类库。每一个Node.js的类库都包含了十分丰富的各类函数,比如http模块就包含了和http功能相关的很多函数,可以帮助开发者很容易地对比如http,tcp/udp等进行操作,还可以很容易的创建http和tcp/udp的服务器。

要在程序中使用模块是十分方便的,只需要如下:

在这里,引入了http类库,并且对http类库的引用存放在http变量中了。这个时候,node.js会在我们应用中搜索是否存在node_modules的目录,并且搜索这个目录中是否存在http的模块。如果node.js找不到这个目录,则会到全局模块缓存中去寻找,用户可以通过相对或者绝对路径,指定模块的位置,比如:

var myModule = require('./myModule.js');

模块中包含了很多功能代码片断,在模块中的代码大部分都是私有的,意思是在模块中定义的函数方法和变量,都只能在同一个模块中被调用。当然,可以将某些方法和变量暴露到模块外,这个时候可以使用exports对象去实现。

如何查看nodejs安装了哪些模块

  Node.js逐渐升温,很多朋友已经开始关注。但是在Windows平台上需要基于Cygwin安装配置环境,让很多人望而却步。

  不过有消息称Microsoft已经联系Node.js官方,相信很快会有改善。

  那么在不安装Cygwin的情况下,是否可以在Windows上搭建Node.js环境进行试验开发哪?我以Node.js + express做了个简单测试,基本可行。

  步骤如下:

  1. 下载Node.js官方非稳定版Windows可执行程序:

  我在试验中使用了0.5.7版本

  2. 创建c:\nodejs目录,并将node.exe保存在此目录中

  3. 下载express。因为依赖关系,还需要下载:connect、qs、mime和jade(express默认模板系统。如果使用其他模板系统,需要下载相应系统)

  4. 创建c:\nodejs\node_modules目录,并在此目录中分别创建[Module]目录。然后将上一步下载的文件压缩,把相关文件拷贝到[Module]目录中。

  node_modules

  |- connect <= connect: lib/*

  |- express <= express: lib/*

  |- jade <= jade: lib/*

  |- mime <= mime: mime.js & types/*

  |- qs <= qs: lib/*

  5. 在c:\nodejs\node_modules目录,分别创建以下文件:

  connect.js

  内容:module.exports = require('./connect/connect');

  express.js

  内容:module.exports = require('./express/express');

  jade.js

  内容:module.exports = require('./jade/jade');

  mime.js

  内容:module.exports = require('./mime/mime');

  qs.js

  内容:module.exports = require('./qs/querystring');

  6. 将下载的express压缩包中的bin/express文件拷贝到c:\nodejs目录,并改名为express.js

  7. 修改express.js文件,以下以2.4.3为例:

  7.1. 修改mkdir函数体

  401: exec('mkdir -p ' + path, function(err){

  ->exec('md ' + path, function(err){

  7.2. 修改mkdir函数调用

  263: mkdir(path + '/public/javascripts');

  ->mkdir(path + '\\public\\javascripts');

  264: mkdir(path + '/public/images');

  ->mkdir(path + '\\public\\images');

  265: mkdir(path + '/public/stylesheets', function(){

  ->mkdir(path + '\\public\\stylesheets', function(){

  280: mkdir(path + '/views', function(){

  ->mkdir(path + '\\views', function(){

  8. 创建一个express项目:

  c:\nodejs\node.exe express.js -s hello

  9. c:\nodejs\node_modules\*.* => c:\nodejs\hello\node_modules\

  10. 运行并测试:

  c:\nodejs\node.exe hello\app.js本回答被提问者采纳

node.js 怎么引入module

node.js module初步理解

在node.js中模块与文件是一一对应的,也就是说一个node.js文件就是一个模块,文件内容可能是我们封装好的一些JavaScript方法、JSON数据、编译过的C/C++拓展等,在关于node.js的误会提到过node.js的架构

http://www.cnblogs.com/dolphinX/p/3485260.html

详细可以参考这个,有图解教程,希望可以帮到你

  • 本文相关:
  • node.js学习教程之module模块
  • vue中node_modules中第三方模块的修改使用详解
  • 深入理解node module模块
  • nodejs中exports与module.exports的区别详细介绍
  • node.js中module.exports与exports用法上的区别
  • nodejs学习笔记之module的简介
  • 深入理解node exports和module.exports区别
  • node中modules.exports与exports导出的区别
  • 详解node.js中exports和module.exports的区别
  • node.js 中exports 和 module.exports 的区别
  • 浅谈node中的exports与module.exports的关系
  • node.js之网络通讯模块实现浅析
  • 如何从0开始用node写一个自己的命令行程序
  • import与export在node.js中的使用详解
  • nodejs中express 常用中间件 body-parser 实现解析
  • node.js文件操作系统实例详解
  • node实现简单的增删改查接口实例代码
  • 浅析node.js中使用依赖注入的相关问题及解决方法
  • 简单谈谈关于 npm 5.0 的新坑
  • node命令行工具之实现项目工程自动初始化的标准流程
  • node.js连接sql server 2008及数据层封装详解
  • node.js中npm安装的模块在哪个目录下
  • 如何查看安装的nodejs模块
  • 开发中用nodejs做了哪些方面的工作
  • 如何查看nodejs安装了哪些模块
  • node.js 怎么引入module
  • nodejs中模块之间怎么传值?
  • nodejs内置模块有哪些
  • Node.js里的模块和包的概念应该怎么理解
  • node.js的module.export 和 export方法的区别
  • 如何加载Nodejs模块
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved