`
CshBBrain
  • 浏览: 650063 次
  • 性别: Icon_minigender_1
  • 来自: 成都
博客专栏
B7d9bf34-126e-301f-819e-81f2615b5a2a
开源WebSocket服务...
浏览量:144900
Group-logo
HTML5移动开发
浏览量:137843
社区版块
存档分类
最新评论

nodejs的require模块(文件模块/核心模块)及路径介绍

 
阅读更多

转自:http://www.jb51.net/article/33266.htm

 

在nodejs中,模块大概可以分为核心模块和文件模块,核心模块是被编译成二进制代码,引用的时候只需require表示符即可,文件模块,则是指js文件、json文件或者是.node文件在nodejs中,模块大概可以分为核心模块和文件模块。 


核心模块是被编译成二进制代码,引用的时候只需require表示符即可,如(require('net'))。 

文件模块,则是指js文件、json文件或者是.node文件。在引用文件模块的时候后要加上文件的路径:/.../.../xxx.js表示绝对路径、./xxx.js表示相对路径(同一文件夹下的xxx.js),../表示上一级目录。如果既不加/.../、../又不加./的话,则该模块要么是核心模块,要么是从一个node_modules文件夹加载。 

对于加载模块时既没指出./ ../ /.../时,加载模块的搜索路径。如果'/home/ry/projects/foo.js' 中的文件调用了 require('bar.js') ,node将在下面的位置进行搜索: 

复制代码代码如下:

/home/ry/projects/node_modules/bar.js 
/home/ry/node_modules/bar.js 
/home/node_modules/bar.js 
/node_modules/bar.js 


文件夹作为模块: 
首先在文件夹的根下建立package.json文件,它标识了一个主模块。一个package.json中的内容可能如下: 

复制代码代码如下:

{ "name" : "some-library", "main" : "./lib/some-library.js" } 


如果这是在一个文件夹./some-library下,那么require('./some-library')时将试图加载./some-library/lib/some-library.js如果在这个目录下没有package.json文件,node将试图从这个目录下加载index.js或index.node文件。例如,如果上面没有package.json文件,那么require('./some-library')时,将试图加载下面的文件: 

复制代码代码如下:

./some-library/index.js 
./some-library/index.node 
 

 

分享到:
评论

相关推荐

    nodejs导出模块demo.zip

    本示例"nodejs导出模块demo.zip"提供了一个关于如何在Node.js中创建和使用模块的实例,这对于初学者来说是非常有价值的参考资料。 首先,让我们了解Node.js中的模块系统。Node.js遵循CommonJS规范,这意味着每个.js...

    浅谈NodeJS中require路径问题

    学习Nodejs也是出于对这个新产物的好奇,而且有两个重要项目也需要他的支持,所以要好好学学这个...在nodejs中,模块大概可以分为核心模块和文件模块。核心模块是被编译成二进制代码,引用的时候只需require表示符即可

    nodejs-模块

    当调用`require('模块路径')`时,Node.js会根据路径查找相应的模块文件。如果找不到绝对路径,它会在当前工作目录下的`node_modules`目录中搜索,然后向上遍历父级目录直到找到`node_modules`为止。模块文件通常为`....

    通过实例了解Nodejs模块系统及require机制

    3. 如果路径不是核心模块且不以相对路径开头,Node.js会在当前模块的`node_modules`目录下查找模块,如果没有找到,会向上遍历父级目录,直到文件系统的根目录。 4. 如果始终找不到匹配的模块,`require`会抛出一个`...

    NodeJS本地上传文件至服务器

    dest: 'uploads/', // 存储文件的路径 limits: { fileSize: 1024 * 1024 * 5 }, // 文件大小限制为5MB fileFilter(req, file, cb) { if (!file.originalname.match(/\.(jpg|jpeg|png|gif)$/i)) { return cb(new...

    【课件】CommonJs 和 Nodejs 模块、自定义模块1

    `require` 函数用于加载模块,它会解析指定路径的文件,执行文件中的代码,并返回 `exports` 或 `module.exports` 对象。这样,你就可以在其他文件中调用模块中导出的方法和属性了。 此外,当开发 Node.js 应用时,...

    nodejs 模块

    2. **模块解析过程**:当使用`require()`加载模块时,Node.js会根据指定的路径来查找模块。如果路径是以`.`开头,则尝试加载相对路径;如果是标准模块名(如`fs`),则直接加载核心模块。 #### 四、Node.js模块的...

    03CommonJs 和 Nodejs 模块1

    `require` 函数根据提供的路径查找并加载模块,返回的是模块中 `module.exports` 或 `exports` 暴露的对象。 此外,`npm init` 是 Node.js 的包管理器 npm 提供的一个命令,用于生成 `package.json` 文件。这个文件...

    nodejs实现读取本地文件生成目录树

    fs模块是Node.js的核心模块,提供了异步和同步的文件系统操作方法,如读取、写入、创建、删除文件和目录等。要读取本地目录,我们可以使用`fs.readdir()`方法,它会返回指定目录中的所有文件和子目录的名称。 下面...

    vue-cli脚手架build目录下utils.js工具配置文件详解

    此文章用来解释vue-cli脚手架build目录中的utils....// 引入nodejs路径模块 var path = require('path') // 引入config目录下的index.js配置文件 var config = require('../config') // 引入extract-text-webpack-plugi

    nodejs中模块定义实例详解

    一个.js文件就是一个nodejs的模块,模块与文件是一一对应的,那么引用模块就是require(‘文件路径’)。 如: var circle = require('./circle.js'); console.log( 'The area of a circle of radius 4 is ' + circle....

    Nodejs基础知识

    在Nodejs中,文件和模块是一一对应的,而模块有不同的类型,大概可分为核心模块----文件模块----第三方模块,引用模块的几种方式,可以通过文件路径来引用模块,也可以通过模块名来引用如果用模块来引用非核心模块的...

    nodejs实现静态文件服务器

    这里,我们创建了一个`StaticServer`实例,将`./public`作为静态文件的根路径,然后使用`staticHandler`方法作为中间件处理所有请求。`app.use`方法将此中间件应用于所有路由,因此任何访问服务器的请求都将通过我们...

    跟我学Nodejs(三)--- Node.js模块

    调用自定义模块时,只需使用require函数,并传入相应的模块路径即可。需要注意的是,如果模块中某个函数或变量没有通过exports或module.exports暴露,那么这个函数或变量将不会被外部模块访问到。 Node.js处理模块...

    nodejs express模块

    在本文中,我们将深入探讨 Node.js Express 模块的核心概念、主要特性以及如何使用它来构建 web 应用。 ### 一、Express 框架基础 Express 的设计理念是保持最小的核心,提供强大的中间件系统,这使得开发者可以...

    Nodejs中的require函数的具体使用方法

    例如,可以使用相对路径导入本地模块,使用模块名称导入 node_modules 目录下的模块,以及导入 JSON 文件。require 函数会返回一个对象,该对象包含了所请求模块的导出对象。 require 函数的一个关键特性是其缓存...

    nodejs 客户端音乐播放器

    3. **播放音乐**: 指定音乐文件路径或URL,然后调用播放方法。 ```javascript player.play('/path/to/your/music.mp3') .then(() => console.log('Music started playing')) .catch(err => console.error('...

Global site tag (gtag.js) - Google Analytics