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

自定义模块

我们创建的每个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 初始化

npm是nodejs的包管理器(package manager),安装好node,npm也就安装好了。

安装卸载

下载地址改为国内下载

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

node版本管理

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

相关推荐
酷炫码神1 分钟前
Day 9|Vue Router:把单页后台拆成能跳转的多页面
前端·javascript·vue.js
幸运小圣3 分钟前
fs 模块完全指南:文件读写、移动删除与文件夹操作(新手友好)【Node.js】
node.js·编辑器·vim
肖永威20 分钟前
python版微电网仿真工具的前端托管选型:从http.server到FastAPI StaticFiles
前端·python·http·fastapi
风骏时光牛马20 分钟前
AI插件开发与效能提效工具箱
前端
IT_陈寒23 分钟前
为什么你应该学习Java?
前端·人工智能·后端
weixin_4173968343 分钟前
监控画面卡顿与录像缺失:码率、NVR与存储容量的排查顺序
前端·网络·技术·酒店·综合布线·弱电
曹牧1 小时前
Eclipse 工作空间(Workspace)的默认 JDK 配置
前端
其实防守也摸鱼2 小时前
Cylab在线靶场——挑战图书馆初学者指南
服务器·前端·数据库·chrome·安全·网络安全·靶场
拆房老料4 小时前
【第四部分:Agentic 智能体设计模式】16. 一个 Prompt 搞不定复杂任务?试试 Prompt Chaining
java·前端·人工智能·设计模式·prompt
曹牧9 小时前
C#:空合并运算符
java·前端·数据库