nodejs-day1——模块、第三方包管理

news2025/6/9 13:32:52

自定义模块

我们创建的每个JS文件都是一个自定义模块,并且具有模块作用域,也就是在一个模块中创建的变量、常量、函数等等一切,都只能在当前模块中使用

优点:

1.共享(导出/暴露)内容给其它模块用,需要使用module.exports导出内容。

2.其它模块,如果需要使用上述导出的内容,可以使用require()加载

文件a.js

function a(){
  console.log(1);
}
module.exports={
  a
}

文件b.js

//必须带路径,即使是./也不能省略,可以省略后缀
let obj = require('./a')
obj.a()//1

exports和module.exports的区别:

在一个模块中,module.exports指向的对象才是真正导出的内容,默认指向一个空对象

exports指向module.exports

如果给exports一个一个的添加属性,则属性添加给了导出的对象中,没有问题

如果给exports直接赋值一个对象,则exports和module.exports就是两个不同的值了

实际开发中,直接使用module.exports就可以了

画图说明:

内置模块

内置模块是Node.js平台自带的一套基本的API(功能模块),也叫做核心模块。

注意:内置模块加载不能写路径,直接写模块名,这也是与加载自定义模块不一样的地方。

举例:

path模块

地址:http://nodejs.cn/api/path.html

path是Node本身提供的API,专门用来处理路径,如果需要使用直接导入使用即可。

fs模块

“file system”文件系统,该模块可以实现对文件、文件夹的操作;

readFile读取文件

可选的编码格式可以省略,省略后直接打印data是一个Buffer,这个Buffer用toString()方法可以直接转成utf-8格式的内容

注意:文件名最好写绝对路径(最好用拼接路径的方法),不然就会按照执行时的文件路径作为相对路径来执行,可能出现找不到的情况。

writeFile写入文件

写入文件(向文件中加入内容)

特点:

1.这是一个异步方法;

2.如果写入的文件不存在,则会自动创建文件(但是不会递归创建:‘a/b/c/d.js'这种不行)

3.会覆盖文件中原有的内容。

语法:

第三方包管理

npm 初始化

安装卸载

下载地址改为国内下载

总结自定义、第三方(本地、全局)

node版本管理

可以下载nvm进行node版本切换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1355139.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

rabbitmq延时队列相关配置

确保 RabbitMQ 的延时消息插件已经安装和启用。你可以通过执行以下命令来安装该插件: rabbitmq-plugins enable rabbitmq_delayed_message_exchange 如果提示未安装,以下是安装流程: 查看mq版本: 查看自己使用的 MQ(…

基于B/S架构的数字孪生智慧监所可视化监管系统

1 前言 物联网技术的发展使云计算技术得到了迅猛的发展及广泛的应用,智能体系的创建已经成为监狱发展的必然趋势。 智慧监狱的创建、智能化管理的推行是监狱管理的创新,也是监狱整体工作水平提升的具体体现。 1.1 建设背景 近年来,司法部不…

数字孪生与边缘计算的结合

数字孪生与边缘计算的结合可以在物理实体附近进行实时数据处理和决策,从而提高响应速度、降低延迟,并有效地利用边缘资源。以下是数字孪生在边缘计算中的一些应用,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开…

天津最新web前端培训班 如何提升web技能?

随着互联网的迅猛发展,web前端成为了一个热门的职业方向。越来越多的人希望能够通过学习web前端技术来提升自己的就业竞争力。为了满足市场的需求,许多培训机构纷纷推出了web前端培训课程。 什么是WEB前端 web前端就是web给用户展示的东西,…

sqlserver把Long类型的时间转换为可视化的时间

SqlServer 把Long类型日期还原yyyy-MM-dd HH:mm:ss格式日期: SELECT CONVERT(DATETIME, Dateadd(second, 1704330940847 / 1000, 19700101 08:00), 111) AS tt SqlServer 把Long类型日期还原yyyy-MM-dd格式日期: SqlServer中,按照UTC计算标准…

MATLAB对数据的处理(导入,异常处理)

MATLAB对数据的处理 文章目录 MATLAB对数据的处理1、MATLAB导入数据导入的范围导入类型 2、MATLAB处理缺失值和异常值 1、MATLAB导入数据 最常用的就是导入excel表格数据,主页选项卡-导入数据-选择excel文件。 导入的范围 导入数据的范围默认是从第二行开始的&am…

增删改查语句实现了解不同的函数与特殊字符unionunion all区别

一、crud(增删改查) 1.1、查询 概念: 查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作 注:在MySQL中,当执行一条SQL语句后,系…

【栈越界】变量未赋值前提下,值却发生改变??

首先,提出2个问题: 数组越界 和 栈越界是一回事吗?以上两种越界若有发生,程序一定会跑飞吗? 目录 1. 一个栈越界的例子2. 程序的内存分部3. RAM 空间示意图 1. 一个栈越界的例子 创建 STM32 工程并写了一段测试代码 …

通往人工智能的 Go 之路

Agency 该库旨在为那些希望通过清晰、高效且符合 Go 语言惯例的方法来探索大型语言模型(LLMs)和其他生成式人工智能的开发人员而设计。 特点 纯 Go 语言:快速、轻量级,静态类型,无需涉及 Python 或 JavaScript编写清晰…

P1423 小玉在游泳python

s float(input()) sum 0 step 0 meter 2.0 while sum < s:sum metermeter 0.98 * meterstep 1 print(step)

图像分割-Grabcut法(C#)

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 本文的VB版本请访问&#xff1a;图像分割-Grabcut法-CSDN博客 GrabCut是一种基于图像分割的技术&#xff0c;它可以用于将图像中的…

使用生成式AI查询大型BI表

在拥有大量表格形式数据的组织中&#xff0c;数据分析师的工作是通过提取、转换和围绕数据构建故事来理解这些数据。 分析师访问数据的主要工具是 SQL。 鉴于大型语言模型 (LLM) 令人印象深刻的功能&#xff0c;我们很自然地想知道人工智能是否可以帮助我们将信息需求转化为格式…

事实就是这么残酷,分享一个案例投资者是怎么一步步失败

都说交易市场要学会斗智斗勇&#xff0c;但fpmarkets澳福提醒交易者要始终记住&#xff0c;买的没有卖的精&#xff0c;下面就分享一个案例&#xff0c;让各位投资者知道现实就是这么残酷&#xff0c;一些无良的资本是怎么一步步让投资者失败的。 当在整个交易市场中渐渐地&am…

基于spring boot物流管理系统设计与实现

&#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;一 、设计说明 1.1 课题背景及意…

Java中的IO与NIO篇----第三篇

系列文章目录 文章目录 系列文章目录前言一、信号驱动 IO 模型二、异步 IO 模型三、JAVA NIO四、NIO 的缓冲区前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、…

数据湖的概念

1.定义 不同的公司对数据湖有不同的描述&#xff1a; 维基百科&#xff1a;数据湖是一类存储数据自然/原始格式的系统或存储&#xff0c;通常是对象块或者文件。数据湖通常是企业中全量数据的单一存储。全量数据包括原始系统所产生的原始数据拷贝以及为了各类任务而产生的转换…

杨中科 ASP.NET MVC

ASP.NET Core 入门 什么是ASP.NET CORE 1、ASP.NET Core是.NET中做Web开发的框架 2、ASP.NET Core MVC 传统MVC项目&#xff0c;前后端都做在一起 3、ASP.NET Core Web API: 前后端分离、多端开发。(是属于MVC中的一部分) 4、ASPNET Core MVC其实包含Web API&#xff0c;不过…

未来已来:跨境电商与3D打印技术的奇妙结合

在科技迅猛发展的当下&#xff0c;跨境电商和3D打印技术的结合成为了一场引人注目的奇妙融合。本文将深入研究这两者的交汇点&#xff0c;揭示它们在商业和生产领域中的协同效应&#xff0c;以及未来的发展前景。 跨境电商的挑战与机遇 跨境电商作为全球贸易的新引擎&#xff0…

arm64操作系统LLVM源码编译

编译electron需要对应版本的LLVM编译器,因此需要构建arm64版本的LLVM。构建过程如下。 一、编译环境 需要cmake版本大于3.20,因此需要更新cmake cmake源码下载地址:Download CMake Download CMake 下载后解压编译 tar -zxvf cmake-3.28.1.tar.gz cd cmake-3.28.1 mkdir…

淘宝商品类目接口API:获取淘宝商品分类类目信息

cat_get-获得淘宝分类详情 响应参数 名称类型必须示例值描述 info Mix0{"cid": 16, "parent_cid": 0, "name": "其他女装", "is_parent": "true", "status": "normal", "sort_order&q…