第Ⅰ章-V package.json文件详解

第Ⅰ章-Ⅰ 了解Vue3 创建一个Vue3项目
第Ⅰ章-Ⅱ Vue3自定义创建项目 项目文件详解
第Ⅰ章-III Vite 创建vue3 项目
第Ⅰ章-IV npm yarn pnpm 包管理器

第Ⅰ章-V package.json文件详解

  • 简洁
  • 详解
    • 基本字段
      • name 定义项目名称
      • version 定义项目版本号
      • description 对项目的简短描述
      • main 指定项目入口文件
      • scripts 定义一系列可以通过命令调用的脚本
      • private npm将阻止这个项目被发布到npm registry。
    • 依赖关系
      • dependencies 项目在运行时需要的依赖包
      • devDependecies 开发时需要的依赖包,列入构建工具 测试框架
      • peerDependecies 项目期望运行环境中已经安装的包
    • 高级字段
      • engines 定义项目所需的Node.js或npm版本
      • registory 提供项目的源码仓库信息
      • licence 指定项目许可证类型
      • files 列出了发布到npm registry 时需要包含的文件目录
      • keywords 为项目提供一些管检测
    • 其他字段
      • author 作者信息
      • bugs 提供问题报告的链接或电子邮件
      • homepage 指定项目的主页链接

简洁

他是一个Node.js项目的核心文件,用于定义项目的元数据,依赖关系,脚本等。

详解

基本字段

name 定义项目名称

  • 必须时唯一的。并符合npm对名称的命名规则
  • 在发布到npm registry[^1] 时会用作包的标识符
{"name":"my-vue"
}

[^1] npm用来存储和管理软件包的几种式存储库

version 定义项目版本号

  • 使用语义版本控制 如1.0.0
{"version":"0.0.0"
}

description 对项目的简短描述

  • 这个描述会显示在npm registry上,也有助于其他开发者了解项目的用途

main 指定项目入口文件

  • 在Node.js环境中运行require() 或 import 语句时,默认会加载这个文件。

scripts 定义一系列可以通过命令调用的脚本

  • 常用的脚本包括 start(启动项目) test(运行测试) build(构建项目) preview(vite提供的轻量级预览服务器 预览)
{
"scripts": {"dev": "vite","build": "vue-tsc && vite build","preview": "vite preview","test":"jest"},
}

vite-tsc 这一步运行TypeScript编译器tsc

private npm将阻止这个项目被发布到npm registry。

避免项目意外发布敏感或未准备好的项目到公共仓库

依赖关系

{
"dependencies": {"vue": "^3.4.21"},"devDependencies": {"@vitejs/plugin-vue": "^5.0.4","typescript": "^5.2.2","vite": "^5.2.0","vue-tsc": "^2.0.6"}
}

dependencies 项目在运行时需要的依赖包

  • 在 npm i时自动安装
  • 版本号可以指定具体版本或者控制版本范围

devDependecies 开发时需要的依赖包,列入构建工具 测试框架

  • 这些包不会在生产环境中安装

peerDependecies 项目期望运行环境中已经安装的包

  • 用于插件类包,确保主包和插件的兼容性
  • npm 在安装时会提示用户检查并安装这些依赖

高级字段

engines 定义项目所需的Node.js或npm版本

确保项目在Node.js12以上版本运行

{"node":">=12.0.0" 
}

registory 提供项目的源码仓库信息

  • 通常是Git仓库的地址

licence 指定项目许可证类型

  • 列入MIT GPL 等 可以为用户提供项目的使用许可信息

files 列出了发布到npm registry 时需要包含的文件目录

  • 可以避免不必要的文件包含在包中,从而减少包的大小

keywords 为项目提供一些管检测

  • 可以帮助npm搜索发现相关项目

其他字段

author 作者信息

bugs 提供问题报告的链接或电子邮件

homepage 指定项目的主页链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/831517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年 Java 面试八股文——Mybatis篇

目录 1. 什么是Mybatis? 2. 说说Mybatis的优缺点 3. Xml映射文件中,都有哪些标签 4. #{}和&{}有什么区别 5. Mybatis是如何进行分页的,分页插件的原理是什么 6. Mybatis是如何将sql执行结果封装为目标对象并返回的? 7. Mybatis是怎…

从 Servlet 到 DispatcherServlet(SpringMvc 容器的创建)

DispatcherServlet 的继承体系 SpringMvc 是一个具有 Spring 容器(ApplicationContext)的 Servlet。其中,HttpServlet 属于 JDK 的内容,从 HttpServletBean 开始,便属于 Spring 体系中的内容。 HttpServletBean&…

华为手机 鸿蒙系统-android studio识别调试设备,开启adb调试权限

1.进入设置-关于手机-版本号,连续点击7次 认证:有锁屏密码需要输入密码, 开启开发者配置功能ok 进入开发者配置界面 打开调试功能 重新在androd studio查看可运行running devices显示了, 不行的话,重启一下android …

【开源物联网平台】window环境下搭建调试监控设备环境

🌈 个人主页:帐篷Li 🔥 系列专栏:FastBee物联网开源项目 💪🏻 专注于简单,易用,可拓展,低成本商业化的AIOT物联网解决方案 目录 一、使用docker脚本部署zlmediakit 1.1 …

Nextjs+Antd5.0打造面向AI的文档可视化引擎(最新更新)

hello,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码和前端工程化的最佳实践,今天继续分享一下我开发的文档引擎 Nocode/WEP 的最新更新。 issue收集: https://github.com/MrXujiang/Nocode-Wep/issues 演示地…

ReentrantReadWriteLock(可重入读写锁)源码解读与使用

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java源码解读-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 1. 前言 2. 读写锁是什么 3. ReentrantReadWriteLock是什么 4. 源码解…

JAVA停车场管理系统(不含GUI图形用户界面)

目录 任务要求 具体实现 Parking_Management_System类 Account类 Administrators类 User类 Tool类 任务要求 本代码用于实现一个简单的停车场管理系统,包含数据结构中的栈和队列 栈代表停车场停车的数量,先进后出,因为入口被视为一次只能过…

ColdDTA:利用数据增强和基于注意力的特征融合进行药物靶标结合亲和力预测

ColdDTA发表在Computers in Biology and Medicine 的一篇一区文章 突出 • 数据增强和基于注意力的特征融合用于药物靶点结合亲和力预测。 • 与其他方法相比,它在 Davis、KIBA 和 BindingDB 数据集上显示出竞争性能。 • 可视化模型权重可以获得可解释的见解。 …

Python梯度提升决策树库之lightgbm使用详解

概要 LightGBM是一个快速、分布式、高性能的梯度提升决策树(Gradient Boosting Decision Tree)库,它在机器学习和数据挖掘领域被广泛应用。本文将介绍LightGBM库的安装方法、主要特性、基本功能、高级功能、以及在实际应用中的场景和总结。 安装 首先,需要安装LightGBM库…

【信息系统项目管理师知识点速记】成本管理:估算成本

11.4 估算成本 估算成本是对完成项目工作所需资源成本进行近似估算的过程。该过程确定项目所需的资金,应定期在整个项目期间开展。 成本估算 成本估算是对完成活动所需资源的可能成本进行的量化评估,是根据已知信息进行的成本预测。估算成本涉及识别和分析可用于启动和完成…

IndyTcpServer使用详解

1、IndyTCPserver的创建 IdTCPServer1.DefaultPort:= 8000; IdTCPServer1.ListenQueue:= 1024; //同时处理请求队列数限制 IdTCPServer1.MaxConnections:= 1024; //同时连接数量限制,为0不限制连接数 IdTCPServer1.ContextClass:= TNewIdServerContext; //设置为自定义TIdSe…

第Y9周:重要模块解读

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制🚀 文章来源:K同学的学习圈子 目录 以con.py为例: 一、autopad 二、Conv 三、Focus 四、C2f 文件…

【Java基础】Maven的坐标和依赖

1. 前言 说到坐标,您最熟悉的定义应该是来自平面几何,即在一个平面坐标系中,坐标(x,y)表示距离 x 轴为 y,距离 y 轴距离为 x 的点,任何一个坐标都能够唯一标识该平面上的一个点。 …

白话NLP技术的演进发展

自然语言处理是人工智能的一个重要分支,旨在让计算机能够理解、生成和处理人类语言。我们每天都在使用自然语言,比如与人对话、阅读文章、撰写邮件等。NLP的目标就是要让机器也能像人一样处理语言,从而实现人机交互、信息检索、机器翻译、情感分析等多种应用。 要让机器理解自…

Golang | Leetcode Golang题解之第66题加一

题目&#xff1a; 题解&#xff1a; func plusOne(digits []int) []int {n : len(digits)for i : n - 1; i > 0; i-- {if digits[i] ! 9 {digits[i]for j : i 1; j < n; j {digits[j] 0}return digits}}// digits 中所有的元素均为 9digits make([]int, n1)digits[0]…

如何基于nginx组建多个子目录网站

华子目录 实验要求实验步骤 实验要求 组建多个子目录网站www.openlab.com&#xff0c;该网站有2个子目录www.openlab.com/sxhkt和www.openlab.com/zywww.openlab.com/sxhkt使用http读取www.openlab.com/zy使用https读取 实验步骤 准备工作 [rootserver ~]# setenforce 0[ro…

串口单线半双工转换电路

用来把单线半双工模式的串口转换成双线&#xff0c;然后才能连接到普通的双线USB 串口模块&#xff0c;比如CH340 之类的。电路设计来自大佬的博客&#xff1a;AVR half-duplex software UART supporting single pin operation。他在Arduino 上用软件模拟串口功能&#xff0c;利…

测试PG中事务隔离级别

我们知道事务隔离级别有&#xff1a;读未提交&#xff0c;读已提交&#xff0c;可重复读&#xff0c;可序列化。 读未提交 存在 脏读&#xff0c;不可重复读&#xff0c;幻读&#xff1b; 读已提交 存在 不可重复读&#xff0c;幻读 可重复读 存在 幻读 PG 下默认为读已提交…

微信小程序使用蓝牙连接硬件

目录 一、蓝牙官方api文档 二、蓝牙重要参数介绍 三、案例教程 1. 获取蓝牙权限&#xff08;openBluetoothAdapter&#xff09; 2. 开始搜索蓝牙设备(startBluetoothDevicesDiscovery) 3. 监听搜索到新设备的事件(onBluetoothDeviceFound) 4.连接蓝牙设备&#xff08;crea…

【RYG】Python技能练习场—查漏补缺(二)

1、PASS关键字 通常用作占位符&#xff0c;表示不执行任何操作&#xff0c;主要用于语法结构中要求有语句的地方&#xff0c;但又不需要做任何实际操作的情况。例如&#xff0c;在定义一个函数或类时&#xff0c;如果暂时不需要写函数体或方法体&#xff0c;可以使用"pas…