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 播放队列中的下一首歌曲时,我们学到的单链表的概念就开始发挥作用。但是要播放队列中的上一首歌曲到底可以做什么呢? 在这篇博客中,我们将了解与数据结构相关的另一个概念,…...
数据安全治理的关键-数据分类分级工具
强大的资产发现能力 多种资产发现方式的组合应用,能够最大程度地提高资产发现能力。 灵活的敏感数据分类分级规则 内置丰富的敏感数据分类分级规则,支持正则表达式、关键词组、非结构化指纹、结构化指纹、机器聚类等多种匹配方式,并且规则…...
0Ω电阻的工程应用与电流承载能力解析
1. 0Ω电阻的阻值真相作为一名硬件工程师,我经常遇到新手同事对0Ω电阻的阻值产生误解。实际上,0Ω电阻并非理想中的零阻抗,而是存在一定偏差范围的极小阻值电阻。根据EN60115-2国际电阻标准,0Ω电阻的最大允许偏差有三种规格&…...
跨平台OpenClaw部署对比:Phi-3-mini-128k-instruct在Mac/Win/Linux表现
跨平台OpenClaw部署对比:Phi-3-mini-128k-instruct在Mac/Win/Linux表现 1. 测试背景与实验设计 去年夏天,当我第一次尝试在MacBook Pro上部署OpenClaw对接Phi-3-mini模型时,意外发现同样的自动化任务在同事的Windows设备上执行效率差了近40…...
五大PHP框架对比:如何选择最适合你的?
PHP 常用的框架包括:1. Laravel特点:优雅的语法、强大的 ORM(Eloquent)、丰富的扩展包(Composer)、完善的文档。适用场景:中大型 Web 应用、API 开发、需要快速构建复杂功能。2. Symfony特点&am…...
PDE (Processing D Editor) 三维场景编辑器 · 软件白皮书 · 基于 v..汲
MySQL 中的 count 三兄弟:效率大比拼! 一、快速结论(先看结论再看分析) 方式 作用 效率 一句话总结 count(*) 统计所有行数 最高 我是专业的!我为统计而生 count(1) 统计所有行数 同样高效 我是 count(*) 的马甲兄弟…...
避坑指南:ABB机器人PC SDK开发中,网络扫描(NetworkScanner)为何总为空?
ABB机器人PC SDK网络扫描故障深度排查指南 当你在C#项目中调用NetworkScanner.Scan()方法时,那个本该充满控制器信息的ControllerInfoCollection却固执地保持空白——这种挫败感每个ABB机器人开发者都深有体会。本文将从协议栈底层到网络拓扑,系统性地拆…...
【车载C#中控系统开发黄金法则】:20年一线专家亲授5大避坑指南与实时响应优化秘技
第一章:车载C#中控系统开发的实时性本质与架构约束车载C#中控系统并非通用桌面应用的简单移植,其核心挑战源于汽车电子环境对确定性响应、资源隔离与功能安全的刚性要求。实时性在此语境下并非指微秒级硬实时(如ECU控制)ÿ…...
yojimbo完全配置手册:从基础设置到高级调优
yojimbo完全配置手册:从基础设置到高级调优 【免费下载链接】yojimbo A network library for client/server games written in C 项目地址: https://gitcode.com/gh_mirrors/yo/yojimbo yojimbo是一个专为C游戏开发设计的网络库,专注于客户端/服务…...
Topit:重新定义macOS窗口管理,开启效率革命
Topit:重新定义macOS窗口管理,开启效率革命 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 在数字化工作环境中,多任务处理已…...
Le Git Graph 终极指南:GitHub提交图谱可视化工具快速上手
Le Git Graph 终极指南:GitHub提交图谱可视化工具快速上手 【免费下载链接】le-git-graph Browser extension to add git graph to GitHub website. 项目地址: https://gitcode.com/gh_mirrors/le/le-git-graph Le Git Graph 是一款功能强大的浏览器扩展&…...
ANIMATEDIFF PRO企业级部署:API服务化与WebUI双模式运行指南
ANIMATEDIFF PRO企业级部署:API服务化与WebUI双模式运行指南 1. 项目概述与核心价值 ANIMATEDIFF PRO是一个基于先进AnimateDiff架构的专业级文生视频渲染平台,专为追求电影级视觉效果的内容创作者和AI艺术家设计。这个平台集成了Realistic Vision V5.…...
