当前位置: 首页 > news >正文

前端NodeJs笔记之包结构到进程和线程到命令行到Node模块化讲解

包结构

   包实际上是一个压缩文件,解压以后还原为目录,符合规范的目录应该包含如下文件:

​             -package.json    描述文件

​            -bin       可执行二进制文件

​            -lib        js代码

​            -doc      文档

​            -test      单元测试

进程和线程

进程

-- 进程负责为程序的运行提供必备的环境

-- 进程相等于工厂中的车间

线程

-- 线程 计算机中的最小的计算单位, 线程负责执行进程中的程序

-- 线程相等于于工厂中的工人

命令行

DOS命令

dir 列出当前目录下的所有文件

cd 目录名 进入到指定的目录

md 目录名 创建一个文件夹

rd 目录名 删除一个文件夹

--环境变量

-当我们在命令行打开一个文件或者调用一个程序时,

系统会首先在当前目录寻找文件系统,找到则打开

没有找到则会依次到环境变量path的路径中寻找,直到找到为止

没有找到则报错

exports 和module.exports

-通过exports 只能使用.的方式来向外暴露内部变量

exports.xxx = xxx

-module.exports既可以通过.的形式,也可以直接赋值

module.exports.xxx = xxxx

module.exports = {}

node模块化讲解

在node中 通过require()函数引入外部的模块

require()函数可以传递一个文件的路径作为参数,node会自动根据该路径来引入外部模块 使用相对路径必须以.或者..开头

var md = require("./02-modue");

使用require() 引入模块以后,函数会返回一个对象,这个对象代表的就是引入的模块

使用require()引入外部模块时,使用的就是外部标识

我们可以通过模块标识来找到指定的模块

模块分为两大类

核心模块

-由node引擎提供的模块

-核心模块的标识就是,模块的名字

文件模块

- 由用户自己创建的模块

- 文件模式的标识就是文件的路径(绝对路径,相对路径

可以通过 exports 来向外部暴露变量和方法

需要将暴露给外部的变量或方法设置为exports的属性即可

在node中有一个全局对象, global它的作用和网页中的window类似

在全局中创建的变量会作为global的属性保存

在全局中创建的函数会作为global的方法保存

当node执行模块中的代码时,他会首先在代码的最顶部,添加如下代码

function(exports,require,module,filename,dirname){

在代码的最底部,添加如下代码

}

实际模块中的代码都是包装在一个函数中执行的,并且在函数执行时,同时传递进了五个实参
exports

-该对象用来将变量或函数暴露到外部

require

-函数,用来引入外部的模块

module

-module代表的是当前模块本身

-exports就是module的属性

-既可以使用 exports 导出, 可以使用module.exports

__filename

c:\Users\21886\Desktop\nodejs\01- modue.js

- 当前模块的完整路径

__diraname

c:\Users\21886\Desktop\nodejs

-当前模块所在文件夹的完整路径

arguments.callee

- 这个属性保存的是当前执行的函数对象

相关文章:

前端NodeJs笔记之包结构到进程和线程到命令行到Node模块化讲解

包结构 包实际上是一个压缩文件,解压以后还原为目录,符合规范的目录应该包含如下文件: ​ -package.json 描述文件 ​ -bin 可执行二进制文件 ​ -lib js代码 ​ -doc …...

【Java】获取手机文件名称补充

本地的 ADB 工具路径指的是你电脑上安装的 Android Debug Bridge(ADB)工具的路径。ADB 是 Android SDK 中的一个工具,用于与连接到计算机上的 Android 设备进行通信。你需要确保 ADB 已正确安装,并知道其在你计算机上的位置。 通…...

YoloV8改进策略:BackBone改进|TransNeXt:ViT的鲁棒Foveal视觉感知

文章目录 摘要论文:《TransNeXt:ViT的鲁棒Foveal视觉感知》1、引言2、相关工作3、方法3.1、聚合像素焦点注意力3.1.1、像素焦点注意力3.1.2、在单个混合器中聚合不同的注意力3.1.3、克服多尺度图像输入3.1.4、特征分析3.2、卷积门控单元(Convolutional GLU)3.2.1、动机3.2.…...

三维的旋转平移矩阵形式

在三维空间中,一个物体或坐标系的旋转和平移可以通过一个4x4的变换矩阵来表示。这个矩阵通常被称为仿射变换矩阵或齐次变换矩阵。它结合了旋转矩阵和平移向量的功能,能够同时表示旋转和平移操作。 一个4x4的旋转平移矩阵通常具有以下形式: 复…...

ChatGPT+MATLAB应用

MatGPT是一个由chatGPT类支持的MATLAB应用程序,由官方Toshiaki Takeuchi开发,允许您轻松访问OpenAI提供的chatGPT API。作为官方发布的内容,可靠性较高,而且也是完全免费开源的,全程自己配置,无需注册码或用…...

C语言—冒泡排序

C语言—冒泡排序 原理过程讲解代码1、直接在主函数里面实现2、编写函数进行实现 原理 冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。 以从小到大排序…...

Discord OAuth2授权以及机器人监听群事件

下面文章讲解获取OAuth2授权整个流程,创建机器人,使用机器人监听工会(工会就是创建的服务器)成员变化等等,对接国外的都是需要VPN的哦,对接的时候记得提前准备。 创建应用 点击 此页面添加应用,&#xff…...

微信小程序返回上一页刷新组件数据

在父页面的onShow和onHide里面添加一个标志 onShow() {this.setData({show:true})},onHide() {this.setData({show:false})}, 把这个值传给子组件 <importantList slot"importantConcern" flag"{{barSelect}}" flag2"{{show}}" /> 在子组…...

Aging Cell:匈牙利学者发现肠道微生物组的变化和衰老密切相关

基于DNA甲基化衰老时钟的开发可以准确用来测量生物年龄&#xff0c;生物年龄在很大程度上受生活方式、环境和遗传等因素的影响&#xff0c;大量证据也表明健康生活方式可以延缓衰老并延长寿命。 先前大规模微生物组分析表明&#xff0c;随着年龄的增长&#xff0c;微生物组菌群…...

837. 连通块中点的数量(acwing)

文章目录 837. 连通块中点的数量题目描述维护size的并查集 837. 连通块中点的数量 题目描述 给定一个包含 n 个点&#xff08;编号为 1&#xff5e;n&#xff09;的无向图&#xff0c;初始时图中没有边。 现在要进行 m 个操作&#xff0c;操作共有三种&#xff1a; C a b&a…...

【wine】WINEDEBUG 分析mame模拟器不能加载roms下面的游戏 可以调整参数,快速启动其中一个游戏kof98

故障现象&#xff0c;MAME启动后&#xff0c;游戏都没有识别 添加日志输出&#xff0c;重新启动wine #!/bin/bashexport WINEPREFIX$(pwd)/.wine export WINESERVER$(pwd)/bin/wineserver export WINELOADER$(pwd)/bin/wine export WINEDEBUG"file,mame,warn,err"…...

pytorch安装记录

pytorch安装记录 1 安装anconda2 安装pycharm3 安装显卡驱动4 根据显卡驱动版本下载CUDA5 cudnn安装6 根据CUDA版本安装pytorch7 pytorch卸载 1 安装anconda 下载地址: https://www.anaconda.com/download#downloads 验证是否安装成功&#xff1a;打开cmd, 输入 conda 验证环…...

不依赖第三方平台,用Dart语言实现 ios 消息推送

仅仅给大家提供代码,还搞不定的欢迎咨询。 void _sendIosPushNotification(BleMessage message, String deviceToken, {bool debugMode = false}) async {final Map<String, dynamic> header = {"alg": "ES256", "kid": GloabelConfigu…...

TEASEL: A transformer-based speech-prefixed language model

文章目录 TEASEL&#xff1a;一种基于Transformer的语音前缀语言模型文章信息研究目的研究内容研究方法1.总体框图2.BERT-style Language Models&#xff08;基准模型&#xff09;3.Speech Module3.1Speech Temporal Encoder3.2Lightweight Attentive Aggregation (LAA) 4.训练…...

机器学习之分类回归模型(决策数、随机森林)

回归分析 回归分析属于监督学习方法的一种&#xff0c;主要用于预测连续型目标变量&#xff0c;可以预测、计算趋势以及确定变量之间的关系等。 Regession Evaluation Metrics 以下是一些最流行的回归评估指标: 平均绝对误差(MAE):目标变量的预测值与实际值之间的平均绝对差…...

算法二刷day3

203.移除链表元素 class Solution { public:ListNode* removeElements(ListNode* head, int val) {ListNode *dummyHead new ListNode(0);dummyHead->next head;ListNode *cur dummyHead;while (cur->next ! nullptr) {if (cur->next->val val) {ListNode *tm…...

面具安装LSP模块时提示 Unzip error错误的解决办法

面具(Magisk Delta)安装LSP模块时提示 Unzip error错误的解决办法 ​​ 如果前面的配置都正常的话&#xff0c;可能是LSP版本有问题重新去Github下载一个最新版的吧&#xff1b;我是这么解决的。 我安装1.91那个版本的LSP就是死活安装不上&#xff0c;下载了1.92的版本一次就…...

HarmonyOS 关系型数据 整体测试 进行 初始化 增删查改 操作

好啊 前面的文章 HarmonyOS 数据持久化 关系型数据库之 初始化操作 HarmonyOS 数据持久化 关系型数据库之 增删改逻辑编写 HarmonyOS 数据持久化 关系型数据库之 查询逻辑编写 我们分别编写了 初始化数据库表 增删查改操作 的逻辑代码 那么 下面我们就来整体操作一下 然后 这…...

软件杯 垃圾邮件(短信)分类算法实现 机器学习 深度学习

文章目录 0 前言2 垃圾短信/邮件 分类算法 原理2.1 常用的分类器 - 贝叶斯分类器 3 数据集介绍4 数据预处理5 特征提取6 训练分类器7 综合测试结果8 其他模型方法9 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 垃圾邮件(短信)分类算…...

cnpm install报错:报错Error: certificate has expired ,淘宝镜像证书过期了解决办法

方案1&#xff1a; 不校验证书 cnpm install --insecure; 方案2&#xff1a; 替换镜像源&#xff0c;比如换成华为的 cnpm confg set registry https://mirrors.huaweicloud.com/repository/npm/ 方案3&#xff1a; 使用http作为镜像源 cnpm confg set registry http://re…...

最近顶级图像算法论文精读:CVPR 2025《MaIR》如何让 Mamba 更适合图像恢复?

最近顶级图像算法论文精读&#xff1a;CVPR 2025《MaIR》如何让 Mamba 更适合图像恢复&#xff1f; 摘要 最近看了一篇很值得分析的图像算法论文&#xff1a;MaIR: A Locality- and Continuity-Preserving Mamba for Image Restoration。这篇论文发表在 CVPR 2025&#xff0c;关…...

猫抓Cat-Catch:三步搞定网页视频音频下载的终极指南

猫抓Cat-Catch&#xff1a;三步搞定网页视频音频下载的终极指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为无法保存喜欢的在线视频而烦…...

前后端分离架构的实践指南:如何高效实现与优化

1. 前后端分离架构的核心价值 十年前我刚入行时&#xff0c;主流还是用JSP、PHP这类服务端渲染技术。记得有次修改登录页面的按钮颜色&#xff0c;我需要同时改动Java代码里的样式表和JSP模板文件&#xff0c;还要协调后端同事一起联调。这种开发体验让我深刻体会到前后端耦合的…...

Plant Simulation数字孪生实战:从零搭建生产车间模型(附SimTalk脚本示例)

Plant Simulation数字孪生实战&#xff1a;从零搭建生产车间模型&#xff08;附SimTalk脚本示例&#xff09; 在工业4.0的浪潮中&#xff0c;数字孪生技术正成为制造业转型升级的核心驱动力。作为西门子Tecnomatix产品线中的重要组成部分&#xff0c;Plant Simulation以其强大的…...

护照阅读器在边检自助查验通道——“秒级通关”的核心

边检自助查验通道——“秒级通关”的核心应用概况&#xff1a;在出入境边检区域&#xff0c;自助通关通道已成为大型口岸的“标配”。旅客在闸机处自行扫描护照&#xff0c;系统自动完成信息读取、人证比对&#xff0c;实现快速通关。工作流程&#xff08;以石家庄边检站为例&a…...

告别 AI 失忆!本地部署 MemPalace,原始模式下 96.6% 精准检索

阅读提示&#xff1a;本文基于 MemPalace v0.1&#xff08;2026-04-06 发布&#xff0c;GitHub: milla-jovovich/mempalace&#xff09;撰写&#xff0c;项目仍在快速迭代&#xff0c;建议对照官方 README 使用。一、MemPalace 是什么&#xff1f;背景与争议都说清楚 项目来源 …...

Python 3D游戏开发实战:Ursina引擎从入门到精通

1. 为什么选择Ursina引擎开发3D游戏 如果你正在寻找一个简单易用的Python 3D游戏引擎&#xff0c;Ursina绝对值得一试。作为一个基于Panda3D的轻量级封装&#xff0c;Ursina让3D游戏开发变得前所未有的简单。我最初接触它时&#xff0c;就被它简洁的API设计所吸引——用不到10行…...

从夯到拉,锐评大模型岗位!收藏这份进阶指南,小白程序员也能抓住AI红利!

本文详细解析了大模型领域的不同岗位&#xff0c;从底层架构的夯岗位到应用开发的拉岗位&#xff0c;涵盖了预训练工程师、Infra工程师、基座模型优化、后训练、多模态、应用开发工程师、数据工程师、风控/安全、模型评估和Prompt工程师等。文章强调了当前大模型领域的人才缺口…...

【R 4.5地理空间分析终极指南】:20年GIS专家亲授——仅限新版sf+terra+stars生态的7大实战跃迁路径

第一章&#xff1a;R 4.5地理空间分析新范式与生态演进全景R 4.5 版本标志着地理空间分析从“数据可视化辅助”迈向“原生空间计算范式”的关键跃迁。核心变化体现在对 sf&#xff08;simple features&#xff09;标准的深度内化、对 PROJ 9 坐标参考系统&#xff08;CRS&#…...

pymodbus客户端开发:10个实用技巧提升效率

pymodbus客户端开发&#xff1a;10个实用技巧提升效率 【免费下载链接】pymodbus A full modbus protocol written in python 项目地址: https://gitcode.com/gh_mirrors/py/pymodbus pymodbus是一个用Python编写的完整Modbus协议实现&#xff0c;为开发者提供了构建Mod…...