首页 > 编程语言 >【Nodejs】五、Node.js 模块化

【Nodejs】五、Node.js 模块化

时间:2024-08-16 13:57:29浏览次数:13  
标签:Node 文件 exports Nodejs 模块化 js 导入 模块

一、介绍

1.1 什么是模块化与模块 ?

将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为 模块化 其中拆分出的 每个文件就是一个模块 ,模块的内部数据是私有的,不过模块可以暴露内部数据以便其他 模块使用

1.2 什么是模块化项目 ?

编码时是按照模块一个一个编码的, 整个项目就是一个模块化的项目

1.3 模块化好处

下面是模块化的一些好处: 1. 防止命名冲突 2. 高复用性 3. 高维护性

二、模块暴露数据

2.1 模块初体验

可以通过下面的操作步骤,快速体验模块化 1. 创建 me.js
//声明函数
function tiemo(){
console.log('贴膜....');
}
//暴露数据
module.exports = tiemo;
2. 创建 index.js
//导入模块
const tiemo = require('./me.js');
//调用函数
tiemo();

2.2 暴露数据

模块暴露数据的方式有两种: 1. module.exports = value 2. exports.name = value
使用时有几点注意: module.exports 可以暴露 任意 数据 不能使用 exports = value 的形式暴露数据,模块内部 module 与 exports 的隐式关系 exports = module.exports = {} , require 返回的是目标模块中 module.exports 的值

三、导入(引入)模块

在模块中使用 require 传入文件路径即可引入文件 require 使用的一些注意事项:
1. 对于自己创建的模块,导入时路径建议写 相对路径 ,且不能省略 ./ 和 ../ 2. js 和 json 文件导入时可以不用写后缀, c/c++ 编写的 node 扩展文件也可以不写后缀,但是一 般用不到 3. 如果导入其他类型的文件,会以 js 文件进行处理 4. 如果导入的路径是个文件夹,则会 首先 检测该文件夹下 package.json 文件中 main 属性对应 的文件, 如果存在则导入,反之如果文件不存在会报错。 如果 main 属性不存在,或者 package.json 不存在,则会尝试导入文件夹下的 index.js 和 index.json , 如果还是没找到,就会报错 5. 导入 node.js 内置模块时,直接 require 模块的名字即可,无需加 ./ 和 ../

标签:Node,文件,exports,Nodejs,模块化,js,导入,模块
From: https://blog.csdn.net/aaaa_aaab/article/details/141257192

相关文章

  • 【Nodejs】六、express框架
    目录一、express介绍二、express使用2.1express下载2.2express使用三、express路由3.1什么是路由3.2路由的使用3.3获取请求参数3.4获取路由参数四、express响应设置五、express中间件5.1什么是中间件5.2中间件的作用5.3中间件的类型5.4定义全......
  • 【Three.JS零基础入门教程】第六篇:物体详解
     前期回顾:【Three.JS零基础入门教程】第一篇:搭建开发环境【Three.JS零基础入门教程】第二篇:起步案例【Three.JS零基础入门教程】第三篇:开发辅助【Three.JS零基础入门教程】第四篇:基础变换【Three.JS零基础入门教程】第五篇:项目规划下面将进一步详解介绍Threejs中的常用......
  • 【Three.JS零基础入门教程】第五篇:项目规划
     前期回顾:【Three.JS零基础入门教程】第一篇:搭建开发环境【Three.JS零基础入门教程】第二篇:起步案例【Three.JS零基础入门教程】第三篇:开发辅助【Three.JS零基础入门教程】第四篇:基础变换一个three.js的项目由这么几个部分组成场景物体灯光相机渲染器工具这里我们可以......
  • 【Nodejs】七、express中Router使用
    1、 什么是Routerexpress中的Router是一个完整的中间件和路由系统,可以看做是一个小型的app对象。2、Router作用对路由进行模块化,更好的管理路由3、Router使用创建独立的JS文件(homeRouter.js)//1.导入expressconstexpress=requi......
  • js实现翻牌游戏
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title&g......
  • 关于JS里的字符表情乱码
    背景1、业务背景公司在处理业务时,需要使用socket传输字符串内容,在A处输入,在B处显示。但反馈说输入表情符号经过传输后,ios会变成问号,PC会乱码。如下情况:2、表情乱码表情符号乱码的原因通常与UTF-8编码的处理不当有关。表情符号属于Unicode中的高码点字符,需要使用4个字......
  • 基于nodejs+vue码头船只出行及配套货柜码放管理[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着全球贸易的持续增长,港口作为连接国内外市场的重要枢纽,其运营效率与管理水平直接影响到物流链的顺畅与成本效益。码头作为港口的核心区域,船只的出行安排......
  • 基于nodejs+vue码上公益平台系统[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,互联网已成为推动社会公益事业创新与发展的重要力量。传统公益模式在信息传播、资源调配、参与便捷性等方面面临诸多挑战,难以高效覆......
  • 基于nodejs+vue马寨工业园区招商管理系统[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着全球经济一体化的深入发展,工业园区作为区域经济发展的重要载体,其招商引资工作日益成为推动地方经济增长的关键环节。马寨工业园区作为区域经济发展的重......
  • 基于nodejs+vue码上招聘云平台[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在数字化时代,互联网技术的飞速发展正深刻改变着各行各业,招聘行业也不例外。传统招聘模式受限于地域、时间、信息不对称等因素,导致企业难以快速精准地找到合......