nodejs学习第一天之模块
1.运行js文件
2.node 与 js 的区别
相同:数据类型,语法结构,对象 等基本一致
不同:在js中的顶层对象window 在node中没有在node中 顶层对象为global对象 其不对外进行访问等等 在js中定义一个a变量是能够用window.a访问的 但在node中定义一个a变量是不能用global.a(会返回undefined)变量访问的
3.模块的概念
一个文件就是一个模块 每个模块都有自己的作用域
我们使用var来申明的一个变量,他并不是全局的而是属于当前模块下
Console.log(__fillname)打印的是当前文件被解析过后的绝对路径;
Console.log(__dirname)打印的是当前模块文件所在目录的绝对路径,该属性不是全局的,而是模块作用域下的
3.1模块加载系统
在node中不允许用script标签加载模块 如果要加载模块使用require(‘模块路径’)
其中路径./不带的话node会加载node中的核心模块
3.2node文件加载机制
1.首先按照加载的文件名进行查找
2.如果没有找到会在文件名后面加上.js的后缀进行查找
3.如果还没有找到会在文件名后面加上.json的后缀进行查找
4.如果还没有找到会在文件名后面加上.node进行查找
5.如果还没有找到会报错
4.如何在本模块访问另外一个模块定义的局部变量
1.通过global变量添加 (不推荐使用)
2.通过module(保存和提供一些和当前模块有关的一些信息)对象,module对象中有一个子对象:exports对象 我们可以通过这个对象把一个模块中的局部变量对象提供访问
3.
4.在模块作用域,还有一个模块的作用域对象,exports,它其实就是module.exprots
5.global下的对象
1.progress对象:可以查看当前进程
1.1progress对象下的最重要一个对象stdin、stdout标准输入输出流(IO)通常称为I/O操作 提供了操作输入数据和输出数据的方法
1.2默认情况下,输入流是关闭的,要监听输入数据流,首先要开启输入流
1.3简单的数据加减
本人这是第一次发博客,如果有写的不对的地方还请大牛们指正,以后还会不定期的更新关于nodejs的后续学习内容,有希望了解的或者是有独到见解的可以评论我
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义