当前位置:网站首页>3.nodejs--模块化
3.nodejs--模块化
2022-07-30 02:42:00 【爱喝珍珠奶茶】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
目录
1.模块化语法
(1)模块化概念
在nodejs中,应用由模块组成,nodejs中采用commonJS模块规范。
require语法:把一系列相类似的功能封装到一个模块中,然后供使用
(2)模块化分类
(1)内置模块/核心模块
由 node 本身提供,不需要单独安装(npm),可直接引入使用
例如:
var fs=require("fs")
(2)第三方模块
由社区或个人提供,需要通过npm安装后使用。需要在文件夹的地址栏中输入cmd,然后在小黑窗口里面输入npm i mime下载。
例如:
var mine=require("mime")
(3)自定义模块
由自己本人创建定义的
注意:自定义模块的路径必须以
./获取../开头,后面跟创建文件的后缀名例如:
var myquerystring=require("./myquerystring.js")
2.模块的导入与导出
(1)模块导入
(1)通过
require("fs")来加载模块require("fs1") 解释: (1)去当前项目中的node_modules文件夹中找fs1文件夹 中的package.json中main字段 对应的路径 然后引入 (2)没有就去node的安装包中的全局安装路径中找 (3)还是没有找到 就去核心库(2)如果是第三方模块,需要先使用npm进行下载
(3)如果是自定义模块,需要加上相对路径
./或者../,可以省略.js后缀,如果文件名是index.js那么index.js也可以省略。(4)模块可以被多次加载,但是只会在第一次加载
(2)模块导出
在模块的内部,
module变量代表的就是当前模块,它的exports属性就是对外的接口,加载某个模块,加载的就是module.exports属性,这个属性指向一个空的对象。
3.npm和项目配置文件package.json文件
(1)npm
npm:提供项目中模块/插件的 下载相关功能
(1)下载(常用)
npm i/install 模块名字/模块名字@版本号
npm i [email protected]
npm i 模块名 //安装到本地
npm i 模块名 -g//安装到全局
npm i 模块名 --save//安装到项目依赖
npm i 这个指令 会去项目的配置文件中找到依赖的包 全部下载
npm run dev 这个指令 会去项目的配置文件中找到scripts字段 运行里面的dev指令
(2)更新/删除
npm update 模块名 //帮你更新到最新版本
npm update 模块名@版本 //帮你更新到指定版本
npm uninstall 模块名 //删除模块
(2)package.json 文件
(1)每一个项目 构建时 先构建一个package.json文件 它代表了这个项目的一些结构和配置信息(项目的清单)
(2)构建指令: 在项目文件夹下 npm init -y 初始化一个项目清单文件 npm i 是按照项目清单文件去安装所有的依赖项
package.json 文件:项目的配置文件 用于记录整个项目的一些信息
项目名==>项目的名字
作者信息:
"scripts":{"dev":"node index.js"} 启动指令 主要用于小黑窗的npm启动 npm run dev
"dependencies" 项目依赖
边栏推荐
- 复旦-华盛顿大学EMBA科创的奥E丨《神奇的材料》与被塑造的我们
- 戴尔首款纯软产品,再定义下一代对象存储
- LeetCode Question of the Day (874. Walking Robot Simulation)
- Hacker News Broadcast | A fake offer steals $625 million
- Mysql中事务是什么?有什么用?
- 五种绑定彻底弄懂this,默认绑定、隐式绑定、显式绑定、new绑定、箭头函数绑定详解
- Fudan-Washington University EMBA Kechuang's Ao E丨The Magical Materials and We Are Shaped
- org.apache.ibatis.binding.BindingException Invalidbound statement (not found)的解决方案和造成原因分析(超详细)
- 华宝新能通过注册:拟募资近7亿 营收增加利润反而下降
- JS Bom window innerWidth clientWidth onresize 窗口滚动偏移量 返回顶部
猜你喜欢
随机推荐
[3D检测系列-PointRCNN]复现PointRCNN代码,并实现PointRCNN3D目标检测可视化,包含预训练权重下载链接(从0开始以及各种报错的解决方法)
浏览器缓存机制
【基于RT-Thread+RA6M4的智能鱼缸系统设计之鱼我所欲也】
selenium应用之拉勾简历邀约数据抓取与分析
Successfully resolved AttributeError: 'PngImageFile' object has no attribute 'imshow'
Unity Editor自定义一个记录Bug的窗口
Using ESP32 construct a ZIGBEE network adapter
Linux Jenkins查找缓存文件及删除 (2022-07测试可用)
表达式计算器 ExpressionRunner
The box office broke 790 million US dollars. Have you watched this recent dinosaur movie?
新手入门C#:实现简易的计算器功能
【ModelArts系列】华为ModelArts Notebook训练yolov3模型(开发环境)
自定义 View 实现汉字笔顺动画
Type-C边充电边OTG芯片——LDR6028A
【笔记】结巴分词绘制词云图
RAII技术学习
【C语言刷LeetCode】1331. 数组序号转换(E)
超详细的MySQL基本操作
c语言进阶篇:指针(四)
Docker installs MySQL with one click









