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

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

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

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

简洁

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

详解

基本字段

name 定义项目名称

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

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

version 定义项目版本号

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

description 对项目的简短描述

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

main 指定项目入口文件

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

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

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

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

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

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

依赖关系

json 复制代码
{
"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以上版本运行

json 复制代码
{
    "node":">=12.0.0" 
}

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

  • 通常是Git仓库的地址

licence 指定项目许可证类型

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

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

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

keywords 为项目提供一些管检测

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

其他字段

author 作者信息

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

homepage 指定项目的主页链接

相关推荐
子兮曰17 小时前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰17 小时前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万18 小时前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝18 小时前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋18 小时前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁19 小时前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王952721 小时前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大21 小时前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师21 小时前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学1 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端