Nodejs 第三章(Npm Package json)
npm
npm(全称 Node Package Manager)是 Node.js 的包管理工具,它是一个基于命令行的工具,用于帮助开发者在自己的项目中安装、升级、移除和管理依赖项。
https://www.npmjs.com/
- 类似于
PHP的工具:Composer。它是 PHP 的包管理器,可以用于下载、安装和管理 PHP 的依赖项,类似于 npm。 - 类似于
Java的工具:Maven。它是 Java 的构建工具和项目管理工具,可以自动化构建、测试和部署 Java 应用程序,类似于 npm 和 webpack 的功能。 - 类似于
Python的工具:pip。它是 Python 的包管理器,可以用于安装和管理 Python 的依赖项,类似于 npm。 - 类似于
Rust的工具:Cargo。它是 Rust 的包管理器和构建工具,可以用于下载、编译和管理 Rust 的依赖项,类似于 npm 和 Maven 的功能。
npm 命令
npm init:初始化一个新的 npm 项目,创建 package.json 文件。npm install:安装一个包或一组包,并且会在当前目录存放一个node_modules。npm install <package-name>:安装指定的包。npm install <package-name> --save:安装指定的包,并将其添加到 package.json 文件中的依赖列表中。npm install <package-name> --save-dev:安装指定的包,并将其添加到 package.json 文件中的开发依赖列表中。npm install -g <package-name>:全局安装指定的包。npm update <package-name>:更新指定的包。npm uninstall <package-name>:卸载指定的包。npm run <script-name>:执行 package.json 文件中定义的脚本命令。npm search <keyword>:搜索 npm 库中包含指定关键字的包。npm info <package-name>:查看指定包的详细信息。npm list:列出当前项目中安装的所有包。npm outdated:列出当前项目中需要更新的包。npm audit:检查当前项目中的依赖项是否存在安全漏洞。npm publish:发布自己开发的包到 npm 库中。npm login:登录到 npm 账户。npm logout:注销当前 npm 账户。npm link: 将本地模块链接到全局的node_modules目录下npm config list用于列出所有的 npm 配置信息。执行该命令可以查看当前系统和用户级别的所有 npm 配置信息,以及当前项目的配置信息(如果在项目目录下执行该命令)npm get registry用于获取当前 npm 配置中的 registry 配置项的值。registry 配置项用于指定 npm 包的下载地址,如果未指定,则默认使用 npm 官方的包注册表地址npm set registrynpm config set registry <registry-url>命令,将 registry 配置项的值修改为指定的<registry-url>地址
Package json
执行npm init 便可以初始化一个package.json
name:项目名称,必须是唯一的字符串,通常采用小写字母和连字符的组合。version:项目版本号,通常采用语义化版本号规范。description:项目描述。main:项目的主入口文件路径,通常是一个 JavaScript 文件。keywords:项目的关键字列表,方便他人搜索和发现该项目。author:项目作者的信息,包括姓名、邮箱、网址等。license:项目的许可证类型,可以是自定义的许可证类型或者常见的开源许可证(如 MIT、Apache 等)。dependencies:项目所依赖的包的列表,这些包会在项目运行时自动安装。devDependencies:项目开发过程中所需要的包的列表,这些包不会随项目一起发布,而是只在开发时使用。peerDependencies:项目的同级依赖,即项目所需要的模块被其他模块所依赖。scripts:定义了一些脚本命令,比如启动项目、运行测试等。repository:项目代码仓库的信息,包括类型、网址等。bugs:项目的 bug 报告地址。homepage:项目的官方网站地址或者文档地址。
version 三段式版本号一般是1.0.0 大版本号 次版本号 修订号,
大版本号一般是有重大变化才会升级,
次版本号一般是增加功能进行升级,
修订号一般是修改bug进行升级
npm install 安装模块的时候一般是扁平化安装的,但是有时候出现嵌套的情况是因为版本不同
A 依赖 C1.0,
B 依赖 C1.0,
D 依赖 C2.0,
此时C 1.0就会被放到A B的node_moduels,
C2.0 会被放入D模块下面的node_moduels
相关文章:
Nodejs 第三章(Npm Package json)
npm npm(全称 Node Package Manager)是 Node.js 的包管理工具,它是一个基于命令行的工具,用于帮助开发者在自己的项目中安装、升级、移除和管理依赖项。 https://www.npmjs.com/ 类似于 PHP 的工具:Composer。它是 …...
Tool Documentation Enables Zero-Shot Tool-Usage with Large Language Models
本文是LLM系列文章的内容,针对《Tool Documentation Enables Zero-Shot Tool-Usage with Large Language Models》的翻译。 工具文档赋能大模型零样本的工具使用 摘要1 引言2 相关工作3 实验设置3.1 常规的工作流3.2 工具使用提示方法3.3 评估任务 4 实证研究结果4…...
16 Springboot——登录功能实现
16.1 修改index.html中表单跳转的地址 将action的地址改为user/login,意思是点击提交按钮后,就会跳转到user/login地址,然后只要用Controller类的RequsetMapping去接这个地址就行了。 <body class"text-center"><form cl…...
数据结构-栈队列链表树
1 栈 概念 栈是⼀个线性结构,在计算机中是⼀个相当常⻅的数据结构。栈的特点是只能在某⼀端添加或删除数据,遵循先进后出的原则 实现 每种数据结构都可以⽤很多种⽅式来实现,其实可以把栈看成是数组的⼀个⼦集,所以这⾥使⽤数…...
clickhouse功能使用
离线聚合 物化视图 clickhouse需在AggregatingMergeTree之上建立物化视图来完成聚合的效果。以小时聚合为例说明 首先创建表,此处是本地表,且没有副本 #创建表 CREATE TABLE datasets.bt_stats (`btname` String,`record` UInt64,`EventTime` DateTime...
java中使用Jsoup和Itext实现将html转换为PDF
1.在build.gradle中安装所需依赖: implementation group: com.itextpdf, name: itextpdf, version: 5.5.13 implementation group: com.itextpdf.tool, name: xmlworker, version: 5.5.13 implementation group: org.jsoup, name: jsoup, version: 1.15.32.创建工具…...
无人驾驶实战-第七课(高精地图和V2X )
高精地图是无人驾驶中的重要一环,对环境感知、规划与定位等都有重要的作用。 高精地图的特点: 可视化、静态目标、地图信息、点云数据 高精地图与导航地图的区别 High Definition Map Navigation Map Precision cm m Information 3D lane info Mo…...
springboot集成Sentinel
1、添加依赖 该版本匹配springboot 2.3.x和2.4.x <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId><version>2021.1</version> </dependency> 2、Sentin…...
数据结构——单链表OJ题
单链表OJ题 前言一、删除链表中等于给定值 val 的所有节点二、反转一个单链表三、返回链表的中间结点四、输出该链表中倒数第k个结点五、将两个有序链表合并六、链表的回文结构七、将链表分割成两部分八、找出第一个公共结点九、判断链表中是否有环总结 前言 在前面的博客中我…...
【雕爷学编程】MicroPython动手做(31)——物联网之Easy IoT
1、物联网的诞生 美国计算机巨头微软(Microsoft)创办人、世界首富比尔盖茨,在1995年出版的《未来之路》一书中,提及“物物互联”。1998年麻省理工学院提出,当时被称作EPC系统的物联网构想。2005年11月,国际电信联盟发布《ITU互联网…...
《前端开发 实践之 构建工具的了解》
目录 构建工具的了解Vite 构建工具了解基本使用 构建工具的了解 前端构建工具之一:vite Vite 构建工具了解 todo 基本使用 todo...
MySQL 主从搭建
文章目录 前言一、MySQL 主从是什么?二、通过 Docker 部署三、配置主从关系四、实际情况分析&解决方案五、常见问题处理1、CLONE需要版本不同2、CLONE需要参数相同 总结 前言 MySQL 主从搭建 操作系统:CentOS Linux release 7.9.2009 (Core) 操作系…...
国内GitHub加速访问工具-Fetch GitHub Hosts
一、工具介绍 Fetch GitHub Hosts是一款开源跨平台的国内GitHub加速访问工具,主要为解决研究及学习人员访问 Github 过慢或其他问题而提供的 Github Hosts 同步工具。 项目原理:是通过部署此项目本身的服务器来获取 github.com 的 hosts,而…...
Webpack5新手入门简单配置
1.初始化项目 yarn init -y 2.安装依赖 yarn add -D webpack5.75.0 webpack-cli5.0.0 3.新建index.js 说明:写入下面的一句话 console.log("hello webpack"); 4.执行命令 说明:如果没有安装webpack脚手架就不能执行yarn webpack(…...
基于ali-oss实现不同类型文件上传不同的bucket
基于ali-oss实现不同类型文件上传不同的bucket,并根据大小选择直接上传还是分片上传 1 配置OSS2 引入依赖3 上传核心代码4 文件回显 1 配置OSS 可以看阿里云文档 ps:记得配置跨域 2 引入依赖 pnpm install ali-oss -save3 上传核心代码 import OSS from "ali-oss"…...
域名校验?反爬界的掩耳盗铃!
这一集我们讲一个比较简单的域名校验,可能你没有听过这个名字,因为这个名字是我编的,那么它究竟是什么呢?又为什么说它是掩耳盗铃呢?我们来看看下面的案例: 必应搜索页隐藏内容虎嗅新闻跳转404 import re…...
Cesium 实战教程 - 调整 3dtiles 倾斜摄影大小
Cesium 实战教程 - 调整 3dtiles 倾斜摄影大小 核心代码完整代码在线示例 之前由于误解遇到一个特殊的需求:想要把三维球上叠加倾斜摄影进行自由放大缩小,跟随地图的缩放进行缩放。 后来经过搜索、尝试,终于实现了需求。 但是,后…...
python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题
决策树算法 特征工程-特征提取 特征提取就是将任意数据转换为可用于机器学习的数字特征。计算机无法直接识别字符串,将字符串转换为机器可以读懂的数字特征,才能让计算机理解该字符串(特征)表达的意义。 主要分为:字典特征提取(特征离散化)…...
数据结构与算法中的双向链表
链表概念在现实世界中使用得很普遍。当我们使用 Spotify 播放队列中的下一首歌曲时,我们学到的单链表的概念就开始发挥作用。但是要播放队列中的上一首歌曲到底可以做什么呢? 在这篇博客中,我们将了解与数据结构相关的另一个概念,…...
数据安全治理的关键-数据分类分级工具
强大的资产发现能力 多种资产发现方式的组合应用,能够最大程度地提高资产发现能力。 灵活的敏感数据分类分级规则 内置丰富的敏感数据分类分级规则,支持正则表达式、关键词组、非结构化指纹、结构化指纹、机器聚类等多种匹配方式,并且规则…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
