node.js使用require()函数加载模块

 更新时间:2014年11月26日 09:52:33   投稿:hebedich  
本文通过几个具体实例来分析node.js中使用require()函数来加载模块的方法。非常的详尽,给需要的小伙伴们参考下吧

详细说明均以写在注释之中,这里就不啰嗦了,小伙伴们自己详细看吧,千万别吧注释当成空气了。

复制代码 代码如下:

/*在node中,可以使用require()函数来加载模块.
 * require函数使用一个参数,参数值可以带有完整路径的模块的文件名,也可以为模块名.当使用node中提供的模块时,在require函数中只需要指定模块名即可.
 * */
//建立一个页面2.js;代码如下
var name="思思博士";
exports.name=name;
//建立一个页面1.js;代码如下
var two=require("./2.js");
console.log(two.name);
//输出结果:思思博士
/*
 * 在node中所有的脚本文件都是一个模块文件,因此1.js也是一个模块文件,又由于该文件是在命令行窗口中通过node命令被直接运行的,因此在node中该模块文件被定义为应用程序的主模块
 * 可以用如下的方法检测出当前的模块是否是主模块
 * */
if(module===require.main){
    console.log("当前模块时主模块");
}
//输出结果:当前模块时主模块
//2.js代码
var name="思思博士";
console.log(name);
exports.name=name;
//1.js代码:
var two=require("./2.js");
var two=require("./2.js");
//虽然引用了2次,但是只是执行了1次console.log(name)的输出.
/*require.resolve(str)
 * 在node中,可以使用这个函数来查询某个模块文件的带有完整绝对路径的文件名.
 * */
var url=require.resolve("./2");
console.log(url);
//输出结果:E:\node\gys\2.js
/*require.cache
 * 在node中,这个属性代表了所有已被加载模块的缓存区.
 * */
var two=require("./2.js");
var cache=require.cache;
console.log(cache);
/*输出结果:
 * { 'E:\\node\\gys\\1.js':
 { id: '.',
 exports: {},
 parent: null,
 filename: 'E:\\node\\gys\\1.js',
 loaded: false,
 children: [ [Object] ],
 paths:
 [ 'E:\\node\\gys\\node_modules',
 'E:\\node\\node_modules',
 'E:\\node_modules' ] },
 'E:\\node\\gys\\2.js':
 { id: 'E:\\node\\gys\\2.js',
 exports: { name: '思思博士' },
 parent:
 { id: '.',
 exports: {},
 parent: null,
 filename: 'E:\\node\\gys\\1.js',
 loaded: false,
 children: [Object],
 paths: [Object] },
 filename: 'E:\\node\\gys\\2.js',
 loaded: true,
 children: [],
 paths:
 [ 'E:\\node\\gys\\node_modules',
 'E:\\node\\node_modules',
 'E:\\node_modules' ] } }
 * */
//2.js代码
var name="思思博士";
console.log(name);
//1.js代码
//当使用delete关键字删除缓存区中缓存的某个模块对象后,下次加载该模块时将重新运行该模块中的代码.使用代码:
var two=require("./2.js");
var two1=require("./2.js");
console.log("删除前")
delete require.cache[require.resolve("./2.js")];
console.log("删除后");
var two2=require("./2.js");
/*
 * 输出结果:
 * 思思博士
 * 删除前
 * 删除后
 * 思思博士
 * */

童鞋们是否了解了node中require()函数的用法了呢,本文是自己的一些理解,如有遗漏,还请大家指正。

相关文章

  • Node.JS循环删除非空文件夹及子目录下的所有文件

    Node.JS循环删除非空文件夹及子目录下的所有文件

    这篇文章主要介绍了Node.JS循环删除非空文件夹及子目录下的所有文件及node.js递归删除非空文件夹的实例代码,需要的朋友可以参考下
    2018-03-03
  • mac下彻底卸载node和npm方法步骤

    mac下彻底卸载node和npm方法步骤

    我们经常在卸载软件的时候会遇到有残留,这样就很难去重新下载,本篇文章就来介绍mac下彻底卸载node和npm及重新安装的方法,有需要的朋友可以借鉴参考下
    2021-09-09
  • node.js文件系统之文件写入实例详解

    node.js文件系统之文件写入实例详解

    Node.js和其他语言一样,也有文件操作,下面这篇文章主要给大家介绍了关于node.js文件系统之文件写入的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • Express 配置HTML页面访问的实现

    Express 配置HTML页面访问的实现

    这篇文章主要介绍了Express 配置HTML页面访问的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Node.js调用DeepSeek API的完整指南

    Node.js调用DeepSeek API的完整指南

    本文将介绍如何使用 Node.js 调用 DeepSeek API,实现流式对话并保存对话记录,Node.js 版本使用现代异步编程方式实现,支持流式处理和错误处理,文章通过代码示例讲解的非常详细,需要的朋友可以参考下
    2025-02-02
  • node.js实现登录注册页面

    node.js实现登录注册页面

    这篇文章主要为大家详细介绍了node.js实现简单的登录注册页面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 详解Nodejs mongoose

    详解Nodejs mongoose

    Mongoose 是在nodejs环境下,对mongodb进行便捷操作的对象模型工具。本文介绍解(翻)密(译)Mongoose插件。这篇文章给大家详细介绍了Nodejs mongoose 的相关知识,感兴趣的朋友一起看看吧
    2018-06-06
  • Ubuntu 16.04 64位中搭建Node.js开发环境教程

    Ubuntu 16.04 64位中搭建Node.js开发环境教程

    如果想要在Ubuntu 16.04上安装Node.js的话,这篇文章对你来说肯定很重要。Node.js从本质上来说就是一个运行在服务端上的封装好了输入输出流的javascript程序。本文给大家详细介绍了在Ubuntu 16.04 64位搭建Node.js开发环境的步骤,有需要的朋友们可以参考学习。
    2016-10-10
  • 详解nodeJS之二进制buffer对象

    详解nodeJS之二进制buffer对象

    本篇文章主要介绍了nodeJS之二进制buffer对象,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • node+express+ejs制作简单页面上手指南

    node+express+ejs制作简单页面上手指南

    本文记录了使用node+express+ejs制作简单页面的全过程,话说express+ejs真的是太难了,有种蛋蛋的忧伤~
    2014-11-11

最新评论