这是一个npm 基础标准包,用于规范npm的基本规则。
在此,通过一个简单的npm包示例,来展示如何使用此包(当你使用它变成一个正式包时,请在此文件中描述具体用法)。
具体规则请仔细阅读以下说明
包名必须为小写,并且只能包含小写字母、数字和连字符(-)。
前缀固定:microvideo
、@mv
(由公司名microvideo得出)
- 通用组件可以采用
microvideo
为前缀,例如:- microvideo-map,地图组件
- 也可以采用命名空间模式
@mv
前缀分组,例如:-
@mv/tools
,公司基础工具组件 -
@mvc/xxx
,软件研发中心的xxx组件 -
@mvc/zhdd-xxx
,软件研发中心-指挥调度的xxx组件
-
版本号必须为X.Y.Z的格式,其中X、Y和Z必须是数字,并且X、Y和Z的值必须大于0。 格式为“主版本号.次版本号.修订版本号”,例如“1.2.3”。这样的格式使得开发者可以清晰地了解软件包的版本变更情况,从而做出合适的更新决策。
npm(Node Package Manager)的版本号规范主要遵循语义化版本号(Semantic Versioning,简称SemVer)的规则。这种规范通过三位数字(主版本号、次版本号和修订版本号)来清晰地表达软件包的版本变更情况。
-
主版本号(MAJOR)
:当进行不兼容的API更改时,应增加主版本号。这通常意味着在更新到新版本时,可能需要进行代码的重写或适应性调整。 -
次版本号(MINOR)
:当添加向后兼容的新功能时,应增加次版本号。这意味着在更新到新版本时,不会破坏现有的API,但可以享受新的功能。 -
修订版本号(PATCH)
:当进行向后兼容的错误修复时,应增加修订版本号。这表示在更新到新版本时,不会引入新功能或改变现有功能,只是修复已知问题。
总的来说,npm的版本号规范旨在通过明确的版本号表示方式,帮助开发者理解和管理软件包的版本变化,以促进项目的稳定发展和维护。
限制只能使用pnpm按照依赖
需要使用-S
或-D
选项来指定依赖的安装位置。
|-- /dist # 编译后的代码或构建产物存放目录(可选)
|-- /docs # 文档目录(可选)
| |-- API.md
| ...
|-- /example # 示例代码目录(可选)
| |-- index.js
| |-- package.json
|-- /src # 源代码目录,index为必要,其他的以情况定
| |-- index.js/index.ts # 包的入口文件 (必要)
| |-- /assets # 静态资源文件
| |-- /utils # 工具函数目录
| |-- /components # 组件目录
| ... # 其他源代码文件或目录
|-- LICENSE # 许可证文件
|-- package.json # 包配置文件 (必要)
|-- README.md # 项目说明 (必要)
|-- .eslintrc # ESLint配置文件 (必要)
|-- .prettierrc # Prettier配置文件 (必要)
|-- .gitignore # Git忽略文件
|-- .npmignore # npm发布时忽略的文件
|-- .babelrc # Babel配置文件(如果使用Babel)
|-- tsconfig.json # TypeScript配置文件(如果使用TypeScript)
|-- ... # 其他配置文件或文件
package.json 文件是 npm 包的核心配置文件,它包含了关于包的元数据,这些信息对于 npm 以及使用你包的开发者来说都是非常重要的。以下是 package.json 中常见的一些字段及其简要说明:
-
name
: 包的名称。这个名称在 npm 仓库中必须是唯一的。 -
version
: 包的版本号。通常遵循语义化版本控制(Semantic Versioning,简称 SemVer)。 -
description
: 对包的简短描述。
-
author
: 包的作者信息,可以是一个字符串(名字和邮箱)或一个对象(包含姓名、邮箱和网址等)。 -
contributors
: 为包做出贡献的其他人列表。
-
main
: 指定包的入口文件,即当其他项目通过 require 或 import 引入你的包时,npm 会加载这个文件。 -
files
: 指定包中需要包含的文件或目录列表(优先级比.npmignore
高)。
-
scripts
: 定义了一系列的脚本命令,可以在命令行中通过 npm run XXX 来执行。
-
dependencies
: 生产环境中需要的依赖包列表。 -
devDependencies
: 开发过程中需要的、但生产环境中不需要的依赖包列表。 -
peerDependencies
: 与你的包一同使用、但不由你的包安装的其他包。 -
optionalDependencies
: 可选的依赖,如果安装失败,npm 不会抛出错误。
-
engines
: 指定包运行的 Node.js 和 npm 的版本范围。 -
os
: 指定包可以在哪些操作系统上运行。 -
cpu
: 指定包可以在哪些 CPU 架构上运行。
-
license
: 包的许可证类型。可以是常见的许可证名称(如 "MIT"),也可以是一个指向许可证文件的 URL。 -
repository
: 指定包的代码仓库地址,通常是 Git 仓库。 -
bugs
: 指定报告 bug 的地址或邮箱。 -
homepage
: 包的官方网站或项目主页。 -
keywords
: 与包相关的关键词列表,有助于其他开发者在 npm 上搜索到你的包。
这些字段并不是全部,package.json 还有很多其他的字段可以配置,但上述是最常见和基础的字段。根据你的项目需求,你可能还需要配置其他的字段。总之,package.json 文件为 npm 提供了关于包的完整信息,使得 npm 能够正确地安装、使用和管理你的包。