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

【Node.js】NPM 和 package.json

NPM

npm 是 Node.js 的包管理工具,基于命令行,用于安装、升级、移除、管理依赖项。

常用命令:

  1. npm init:初始化一个新的 npm 项目,创建 package.json 文件。(括号里为默认值)
    在这里插入图片描述
    description:对于这个插件(或者包或者项目)的描述。
    entry point:项目或者包的入口文件。
    git repository:对应自己的 github 的仓库地址。
    keywords:该项目的关键字(搜索时候进行关键字匹配)。
    license:协议(常见的有 MIT 或者 Apache )

  2. npm install:安装一个包或一组包,并且会在当前目录存放一个node_modules 文件夹,和一个 package-lock.json 文件,并同时在 package.json 中生成对应的 dependencies

  3. npm install <package-name>:安装指定的包。(同时可以指定版本,例如npm i vue@2.6.0

  4. npm install <package-name> --save:安装指定的包,并将其添加到 package.json 文件中的依赖列表中。(现在版本不加 --save 也没有问题)

  5. npm install <package-name> --save-dev:安装指定的包,并将其添加到 package.json 文件中的开发依赖列表中,比如 webpack,vite,rollup 生产环境不需要。(简写为-D

  6. npm install -g <package-name>:全局安装指定的包。

  7. npm update <package-name>:更新指定的包。

  8. npm uninstall <package-name>:卸载指定的包。

  9. npm run <script-name>:执行 package.json 文件中定义的脚本命令。

  10. npm search <keyword>:搜索 npm 库中包含指定关键字的包。

  11. npm info <package-name>:查看指定包的详细信息。

  12. npm info 包名 version :获取最新版本

  13. npm list:列出当前项目中安装的所有包。

  14. npm outdated:列出当前项目中需要更新的包。

  15. npm audit:检查当前项目中的依赖项是否存在安全漏洞。

  16. npm publish:发布自己开发的包到 npm 库中。

  17. npm login:登录到 npm 账户。

  18. npm logout:注销当前 npm 账户。

  19. npm link: 将本地模块链接到全局的 node_modules 目录下

  20. npm config list 用于列出所有的 npm 配置信息。执行该命令可以查看当前系统和用户级别的所有 npm 配置信息,以及当前项目的配置信息(如果在项目目录下执行该命令)
    在这里插入图片描述

  21. npm get registry 用于获取当前 npm 配置中的 registry 配置项的值。registry 配置项用于指定 npm 包的下载地址,如果未指定,则默认使用 npm 官方的包注册表地址

  22. npm set registry npm config set registry <registry-url> 命令,将 registry 配置项的值修改为指定的 <registry-url> 地址
    在这里插入图片描述

    也可以通过 xmzs 包进行镜像管理。在这里插入图片描述

Package json

执行 npm init 初始化一个 package.json

在这里插入图片描述

  1. name:项目名称,必须是唯一的字符串,通常采用小写字母和连字符的组合。

  2. version:项目版本号,通常采用语义化版本号规范。

    1.0.0
    主版本号:重大更新或者改动;
    次版本号:功能的更新;
    修订号:修复 bug。

  3. description:项目描述。

  4. main:项目的主入口文件路径,通常是一个 JavaScript 文件。

  5. type

  6. module

  7. browser

  8. keywords:项目的关键字列表,方便他人搜索和发现该项目。

  9. author:项目作者的信息,包括姓名、邮箱、网址等。

  10. license:项目的许可证类型,可以是自定义的许可证类型或者常见的开源许可证(如 MIT、Apache 等)。

  11. dependencies:项目所依赖的包的列表,这些包会在项目运行时自动安装。
    在这里插入图片描述

  12. devDependencies:项目开发过程中所需要的包的列表,这些包不会随项目一起发布,而是只在开发时使用。

  13. peerDependencies:项目的同级依赖,即项目所需要的模块被其他模块所依赖。(一般给编写插件人员或者编写npm包的开发人员去使用)(例如下图:vite-plugin 是基于 vite 使用的,而不能凭空运行)
    在这里插入图片描述

  14. scripts:定义了一些脚本命令,比如启动项目、运行测试等。(例如下图:输出 Error 字符串并断掉进程)
    在这里插入图片描述

  15. repository:项目代码仓库的信息,包括类型、网址等。

  16. bugs:项目的 bug 报告地址。

  17. homepage:项目的官方网站地址或者文档地址。

相关文章:

【Node.js】NPM 和 package.json

NPM npm 是 Node.js 的包管理工具&#xff0c;基于命令行&#xff0c;用于安装、升级、移除、管理依赖项。 常用命令&#xff1a; npm init&#xff1a;初始化一个新的 npm 项目&#xff0c;创建 package.json 文件。&#xff08;括号里为默认值&#xff09; description&am…...

周总结【java项目】

项目进度&#xff1a; 学习了JavaFX&#xff0c;下载了sceneBuilder辅助工具构建窗口&#xff08;目前建立了登陆&#xff0c;注册&#xff0c;忘记密码的界面&#xff09;&#xff0c;然后是学习了MySQL的连接&#xff0c;现在的项目是刚连上数据库&#xff1b; 下一步&…...

《深度不确定条件下的决策:从理论到实践》PDF

制定未来计划时需要预测变化&#xff0c;尤其是制定长期计划或针对罕见事件的计划时。当这些变化存在高度不确定性的时候&#xff0c;这种预期就变得越来越困难。 今天给大家介绍的这本《深度不确定条件下的决策&#xff1a;从理论到实践》正是解决以上问题的良方。完整书籍文…...

【MySQL】表的基础增删改查

前面我们已经知道怎么来创建表了&#xff0c;接下来就来对创建的表进行一些基本操作。 这里先将上次创建的表删除掉&#xff1a; mysql> use test; Database changedmysql> show tables; ---------------- | Tables_in_test | ---------------- | student | -----…...

第11章 Redis(二)

11.11 Redis 哨兵机制和集群有什么区别 难度:★★★ 重点:★★ 白话解析 前面的题目都是Redis的原理,接下来就是实际使用的问题了,首先Redis为了保证高可用,在微服务场景下必须是部署集群的,而Redis的集群部署通常就两种方式:主从和Redis Cluster。 参考答案 1、主从…...

mybatis配置entity下不同文件夹同类型名称的多个类型时启动springboot项目出现TypeException源码分析

记录问题&#xff1a;当配置了 mybatis.type-aliases-packagecom.runjing.erp.entity 配置项时&#xff0c;如果entity文件夹下存在不同子文件夹下的同名类型时&#xff0c;mybatis初始化加载映射时会爆出org.apache.ibatis.type.TypeException&#xff1a; The alias TestDemo…...

淘宝商品评论数据分析接口,淘宝商品评论接口

淘宝商品评论数据分析接口可以通过淘宝开放平台API获取。 通过构建合理的请求URL&#xff0c;可以向淘宝服务器发起HTTP请求&#xff0c;获取商品评论数据。接口返回的数据一般为JSON格式&#xff0c;包含了商品的各种评价信息。 获取到商品评论数据后&#xff0c;可以对其进…...

RK3288 android7.1 修改双屏异触usb tp触摸方向

一&#xff0c;问题描述&#xff1a; android机器要求接两个屏&#xff08;lvdsmipi&#xff09;两个usb tp要实现双屏异触。由于mipi的方向和lvds方向转成一样的了。两个usb tp的方向在异显示的时候也要作用一样。这个时候要根据pid和vid修改触摸上报的数据。usb tp有通用的触…...

软考 系统架构设计师系列知识点之软件架构风格(8)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之软件架构风格&#xff08;7&#xff09; 这个十一注定是一个不能放松、保持“紧”的十一。由于报名了全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff0c;11月4号就要考试&#xff0c;因此…...

ubuntu安装ssh

安装 OpenSSH 服务器&#xff08;如果尚未安装&#xff09;&#xff1a; apt-get update && apt-get upgrade -y sudo apt-get install -y openssh-server 检查 SSH 服务是否正在运行&#xff1a; sudo service ssh status 如果 SSH 服务未运行&#xff0c;请通过以…...

webpack不同环境下使用CSS分离插件mini-css-extract-plugin

1.背景描述 使用mini-css-extract-plugin插件来打包css文件&#xff08;从css文件中提取css代码到单独的文件中&#xff0c;对css代码进行代码压缩等&#xff09;。 本次采用三个配置文件&#xff1a; 公共配置文件&#xff1a;webpack.common.jsdev开发环境配置文件&#x…...

[MongoDB]-权限验证管理

[MongoDB]-权限验证管理 senge | 2023年9月 背景说明&#xff1a;现有两套MongoDB副本集群给开发人员使用时未开启认证。 产生影响&#xff1a;用户若输入账号以及密码则会进行校验&#xff0c;但用户可以在不输入用户名和密码的情况下也可直接登录。 倘若黑客借此进行攻击勒索…...

bootstrapjs开发环境搭建

Bootstrapjs是一个web前端页面应用开发框架&#xff0c;其提供功能丰富的JavaScript工具集以及用户界面元素或组件的样式集&#xff0c;本文主要描述bootstrapjs的开发环境搭建。 如上所示&#xff0c;使用nodejs运行时环境、使用npm包管理工具、使用npm初始化一个项目工程test…...

远程实时监控管理:5G物联网技术助力配电站管理

配电站远程监控管理系统是基于物联网和大数据处理等技术的一种创新解决方案。该系统通过实时监测和巡检配电场所设备的状态、环境情况、安防情况以及火灾消防等信息&#xff0c;实现对配电站的在线实时监控与现场设备数据采集。 配电站远程监控管理系统通过回传数据进行数据系…...

ubuntu 23.04安装中文输入法

使用ubuntu 23.04安装中文输入法&#xff0c;尝试了最新的搜狗&#xff0c;谷歌拼音&#xff0c;fcitx的原始拼音&#xff0c;最终的结果就是使用了谷歌拼音。 搜狗输入法&#xff1a;好用&#xff0c;但是用了没几天发现各种闪退&#xff0c;一打开就闪烁&#xff0c;根本无法…...

java:解析json的几种方式

Java是一种流行的编程语言&#xff0c;它提供了很多实用的库和工具&#xff0c;在处理JSON数据时也不例外。在本文中&#xff0c;我们将介绍Java中如何解析JSON数据。 JSON是一种轻量级的数据交换格式&#xff0c;它已经成为Web应用程序中最流行的数据格式之一。Java提供了许多…...

pytorch_神经网络构建1

文章目录 pytorch简介神经网络基础分类问题分析:逻辑回归模型逻辑回归实现多层神经网络多层网络搭建保存模型 pytorch简介 为什么神经网络要自定义数据类型torch.tensor? tensor可以放在gpu上训练,支持自动求导,方便快速训练,同时支持numpy的运算,是加强版,numpy不支持这些 为…...

Android 多线程并发详解

一&#xff0c;基础概念 1.1什么是CPU 中央处理器&#xff08;CPU&#xff09;&#xff0c;是电子计算机的主要设备之一&#xff0c;电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令&#xff0c;对指令译码并执行指令的…...

系统架构设计:8 论软件架构风格

目录 一 软件架构风格 1 数据流风格 (1)批处理风格 (2)管道-过滤器风格...

[Elasticsearch] 邻近匹配 (一) - 短语匹配以及slop参数

本文翻译自Elasticsearch官方指南的Proximity Matching一章。 邻近匹配(Proximity Matching) 使用了TF/IDF的标准全文搜索将文档&#xff0c;或者至少文档中的每个字段&#xff0c;视作"一大袋的单词"(Big bag of Words)。match查询能够告诉我们这个袋子中是否包含了…...

Git【企业级开发模型】

一、为什么需要企业级开发模型&#xff1f; 一个软件从零开始到最终交付&#xff0c;大致需要经历&#xff1a;规划 → 编码 → 构建 → 测试 → 发布 → 部署 → 维护。在个人项目中&#xff0c;你一个人可以完成所有环节。但在企业中&#xff0c;角色分工明确&#xff1a; 开…...

intv_ai_mk11应用场景:金融从业者用其生成监管政策要点摘要、投研报告初稿框架

intv_ai_mk11在金融领域的应用实践&#xff1a;政策摘要与投研报告生成 1. 金融从业者的AI助手需求 金融行业每天需要处理海量的监管政策和市场信息&#xff0c;传统人工处理方式面临三大挑战&#xff1a; 时效性压力&#xff1a;新政策发布后需要快速理解要点信息过载&…...

基于Qwen3-VL-8B-Instruct-GGUF的C++高性能推理服务开发

基于Qwen3-VL-8B-Instruct-GGUF的C高性能推理服务开发 如果你正在寻找一种方法&#xff0c;把强大的多模态AI模型集成到自己的应用里&#xff0c;同时还要保证高性能、低延迟&#xff0c;那么用C来开发推理服务是个不错的选择。今天咱们就来聊聊&#xff0c;怎么用C为Qwen3-VL…...

Super Qwen Voice World效果展示:砖块跳动节拍与语音时长精准匹配

Super Qwen Voice World效果展示&#xff1a;砖块跳动节拍与语音时长精准匹配 1. 引言&#xff1a;当像素世界“开口说话” 想象一下&#xff0c;你正在玩一款复古的像素游戏。屏幕底部的砖块随着背景音乐有节奏地上下跳动&#xff0c;突然&#xff0c;一个充满活力的声音响起…...

​​​​​​​中山网站建设哪家好?从AI搜索变革看网站建设的规范流程

在讨论“中山网站建设哪家好”之前&#xff0c;有一个更底层的问题需要先理解&#xff1a;&#x1f449; 网站的价值&#xff0c;正在被AI重新定义。一、信息获取路径正在发生根本变化过去二十年&#xff0c;用户获取信息的方式大致是&#xff1a;用户提出问题 → 打开搜索引擎…...

AST 是什么?费曼 + 大白话 + 画图,30 秒彻底懂

我用最简单、最形象、最不绕弯的方式给你讲清楚&#xff0c;保证你马上能听懂&#x1f447;一、AST 代码的骨架结构图全称&#xff1a;Abstract Syntax Tree 抽象语法树一句话&#xff1a;AST 就是把代码拆成逻辑结构&#xff0c;去掉所有标点、空格、格式&#xff0c;只保留 …...

ZLMediaKit(webrtc)在CentOS7上的高效部署与常见问题解决指南

1. 环境准备与依赖安装 在CentOS7上部署ZLMediaKit(webrtc)前&#xff0c;需要先搞定基础环境。我遇到过不少新手直接克隆代码就开始编译&#xff0c;结果被各种报错劝退。下面这些依赖就像盖房子前要打的地基&#xff0c;缺一不可。 1.1 更新系统与基础工具 刚装好的CentOS7就…...

基于Quansar的双自由度直升机离散时间控制器的设计与仿真分析

基于Quansar的双自由度直升机离散时间控制器 简介&#xff1a;基于Quansar的双自由度直升机&#xff0c;它有两个直流电机驱动器&#xff0c;俯仰角0和偏航角中 离散时间控制器是为这两个螺旋桨使用根轨迹法设计的 分别使用Matlab对所设计的两个控制器进行仿真&#xff0c;分析…...

DICOM序列实时渲染从28fps到126fps:C++无锁队列+GPU命令缓冲复用+ROI局部重绘的工业级调优日志

第一章&#xff1a;DICOM序列实时渲染性能跃迁全景概览 现代医学影像工作流对DICOM序列的实时可视化提出严苛要求&#xff1a;从百层CT扫描到高分辨率MRI动态序列&#xff0c;传统CPU软渲染方案常遭遇帧率跌破15 FPS、交互延迟超300ms的瓶颈。近年来&#xff0c;GPU加速管线、零…...

杰理之播放暂停的杂音【篇】

a2dp PLC...