package.json属性
添加链接描述
一、必须属性
- name
定义项目的名称,不能以".“和”_"开头,不能包含大写字母 - version
定义项目的版本号,格式为:大版本号.次版本号.修订号
二、描述信息
- description 项目描述
- keywords 项目关键词
- author 项目作者
- contributors 项目贡献者
- homepage 项目主页地址
- repository 项目代码仓库地址
- bugs 项目提交问题的地址
- funding 指定项目的资金支持方式和链接
三、依赖配置
- dependencies 生产环境的依赖包
如果不使用脱字符(^),安装的版本号固定;如果使用,则能安装当前大版本的最新版本,在package-lock.json中可查看当前实际安装的版本。 - devDependencies 开发环境的依赖包,例如webpack、vite、babel、ESLint等。
- peerDependencies
对等依赖的作用:
减小打包体积:例如使用react开发的组件库,安装react是必不可少的,而使用组件库的开发者,本地项目肯定安装了react,因此开发的组件库中不必把react打包进去(期望项目的使用者来提供这些模块的实现)。
版本一致性:使用你的组件库的开发者需要确保他们项目中安装了与你声明的对等依赖版本兼容的包,以确保组件库正常运行。
示例:声明要使用组件库,需在项目中安装大于17.0.1版本的react - peerDependenciesMeta
将对等依赖标记为可选,如果用户没有安装对等依赖,npm不会发出警告
"peerDependenciesMeta":{"react":{}
}
- bundledDependencies
声明捆绑依赖项(使用情景较少) - optionalDependencies
声明可选依赖项(使用情景较少) - engines
声明对npm或node的版本要求
"engines":{"node":">=8.10.3 <12.13.0","npm": ">=6.9.0"
}
目前对NPM来说,engines只是起一个说明的作用,即使用户安装的版本不符合要求,也不影响依赖包的安装。但使用pnpm 和 yarn安装,如果版本不符合要求会导致安装失败。
8. workspaces
单个代码库中统一管理多个包(monorepo),在workspaces声明目录下的package会软链到根目录的node_modules中。
- 初始化项目
- 声明本项目是workspaces模式
"private":"true","workspaces":[ "packages/*" ]表示所有子包都在packages文件夹下 - 创建子包p1
npm init -w packages/p1 -y在node_modules/.package-lock.json中可以看到 “link”: true 链接符号信息 - 新建packages/p1/index.js
module.exports="p1包" - 创建子包p2
npm init -w packages/p2 -y - 将子包p1添加到p2中
npm i p1 -w p2安装,卸载等命令都是一样的,只是多了"–workspace="参数(简写-w),用来指定在哪个包中执行命令 - 子包p2使用p1
const p1 = require("p1");console.log("使用",p1);module.exports = 'p2包'workspaces功能与lerna类似,如果只需简单地管理多个包,workspaces足够了。lerna具有版本管理,发包提示,简化多包项目发布流程等更多功能。
四、脚本配置
相关文章:
package.json属性
添加链接描述 一、必须属性 name 定义项目的名称,不能以".“和”_"开头,不能包含大写字母version 定义项目的版本号,格式为:大版本号.次版本号.修订号 二、描述信息 description 项目描述keywords 项目关键词author …...
C# 把m4a格式文件转为MP3格式
直接上代码: 先引用 using NAudio.Wave; using NAudio.Lame; 1, 文件列表来自于根目录里所有的m4a文件 string directloc "G:\mp3\MP3"; string[] fyles Directory.GetFiles(directloc); NAudio.Wave.BlockAlignReductionStream stream …...
【分享】Word文档如何批量转换成PDF?
Word格式比较容易编辑,是工作中经常用到的文档工具,有时候为了避免文档在传送中出现乱码,或者防止被随意更改,很多人会把Word文档转换成PDF,那Word文档要怎样转成PDF呢?如果Word文档很多,有没有…...
dedecms tag 伪静态 数字版本
织梦伪静态将tag标签的url设置成id的方法: 1、在网站根目录下的tags.php中18行找到: if(isset($tags[2])) $PageNo intval($tags[2]);在其下方加入代码: $tagid intval($tag); if(!empty($tagid)) {$row $dsql->GetOne("SELECT …...
mysql数据库ip被阻断
windos服务器还是 linux服务器没关系。 登录服务器mysql 授权法。 例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 GRANT ALL PRIVILEGES ON *.* TO myuser% IDENTIFIED BY mypassword WITH GRANT OPTION如果你想允许用户myuser…...
Nginx WEB访问与Linux授权约束
看到所有文件的权限都是没有的,即便所有的权限都没有即使nginx做了配置,这些都是正确的。那么在浏览器真正去访问的时候是不能访问的。 [rootjenkins html]# ls -l total 4 drwxr-xr-x 2 root root 23 Sep 16 17:43 dist ---------- 1 root root 33 Sep …...
影响独立服务器稳定运行的因素
影响独立服务器稳定运行的因素 独立服务器的稳定对于网站和运行的程序来说都是最重要的因素,不只是简单的影响网站的速度,也影响搜索引擎对网站的优化。试想一下,客户在访问网站时,网页长时间打不开,页面崩溃会导致客户…...
Xcode14.3.1打包报错Command PhaseScriptExecution failed with a nonzero exit code
真机运行编译正常,一打包就报错 rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/d9889869-120b-11ee-b796-7a03568b17ac/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender2.6.9] Command PhaseScrip…...
[RF学习记录][ssh library][execute Command】关键字的返回值
有时候需要判断通过ssh在远程机器上执行的命令是否正常,使用关键字Execute Command可以在远程机器上运行命令,但是默认不加任何参数的话,没有看到范返回值,而这个关键字是带了几个参数的,简单的试验了下这几个参数&…...
【Python入门教程】Python实现猜数字小游戏
今天跟大家分享一下很久之前自己做的一款猜数字小游戏,基本的循环判断语句即可实现,可以用来当练手或者消磨时间用。 大家在编代码的时候最重要就是先理清逻辑思路,例如应该套几层循环、分几个模块等等。然后在编码时可以先随意一点ÿ…...
vue项目打包部署到服务器,报错。
这个是因为后端部署服务器时,名称没有对上,不是前端的问题,后端配置名称和前端的包名称保持一致就可以了。...
适用于初学者,毕业设计的5个c语言项目,代码已开源
C语言项目集 项目介绍 该项目适用于初学者学习c语言,也适用于高校学生课程设计,毕业设计参考。 项目并不能满足所有人的需求,可进行项目指导,定制开发。 开源地址 c语言项目代码地址 项目列表 该项目包含如下5个管理系统&am…...
虾皮商品详情数据接口
虾皮商品详情数据接口可以提供众多API读取内容,可传输大量数据,数据更新速度尤其快,保证了跨境电商接口服务数据的及时性及准确性;安全性强:使用SSL及虾皮网自主的安全技术,确保了跨境电商接口服务数据的安…...
数据大爆炸:大数据分析如何改变我们的世界
文章目录 大数据分析的基本概念数据的三个V大数据分析的技术 大数据分析在商业中的应用1. 个性化营销2. 风险管理3. 供应链优化4. 客户服务 大数据分析在医疗保健中的应用1. 疾病预测2. 患者治疗3. 医疗设备监控 大数据分析在科学研究中的应用1. 天文学2. 生物学3. 气象学 大数…...
WorkPlus私有化部署IM即时通讯平台,构建高效安全的局域网办公环境
随着数字化转型的加速,政府机构与企业对高效、安全的即时通讯和协作工具的需求日益增长。企业微信和钉钉作为当前市场上较为常见的通讯工具,虽然在一定程度上满足了企业内部协作的需求,但仍存在一些问题,如数据安全性、私有化部署…...
[C++随笔录] list使用
list使用 构造函数insert && 迭代器push_back && pop_back && push_front && pop_fronterasesort && find && reverse list的底层结构就是 带头双向循环链表 构造函数 // 默认构造 list<int> lt; cout << "l…...
机器学习总结
对以下文章机器学习总结 什么是深度学习?最易懂的机器学习入门文章-CSDN博客 人工智能和机器学习之间的关系 人工智能是一个最宽泛的概念,是一个研究领域,同时也是一个实现目标,而机器学习则是实现这一目标的一类方法。深度学习只是机器学…...
【刷题笔记9.24】LeetCode:二叉树最大深度
LeetCode:二叉树最大深度 1、题目描述: 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 二、思路与算法 如果我们知道了左子树和右子树的最大深度 lll 和 rrr,…...
投资理财知识分享:100个金融知识专业术语
大家好,我是财富智星,今天跟大家分享一下投资理财知识方面100个金融知识专业术语,希望能帮助大家了解更多金融知识。 1. 股票:代表对一家公司所有权的证券。 2. 债券:公司或政府发行的借款证券。 3. 投资组合ÿ…...
【ESP8266+TM1650时钟数码管+DS3231模块】制作网络时钟
【ESP8266TM1650时钟数码管DS3231模块】制作网络时钟 所需元器件接线方式代码 所需元器件 ESP8266 NodeMCU——开发板TM1650时钟数码管——显示时钟DS3231模块——网络对时 接线方式 TM1650 SCL—>D1 SDA—>D2DS3231 SCL—>D1 SDA—>D2 代码 #include <NTP…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
