您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Yarn2 清单文件

清单(也package.json因其而被称为)包含描述特定程序包唯一的设置所需的所有。如果项目使用工作空间,则项目将包含多个这样的清单,因为每个工作空间都是通过其自己的清单来描述的。

包的,用于在整个应用程序中标识它,尤其是在多个工作空间中。的第一部分(此处为@scope/)是可选的,用作空间)。

"name":"@ scope / name",

软件包的版本。通常,它对您的项目没有任何影响,除非它是工作空间-然后其版本必须与指定的范围相匹配,才能选择该工作空间作为案的候选对象。

"version":"1.2.3",

Node.js v13.x 选项。可能的值为commonjs(认值)和module。如果为module,则.pnp.cjs在使用PnP时Yarn将。如果为commonjs,则.pnp.js在使用PnP时Yarn将。

"type":"commonjs",

如果为true,则该程序包将被视为私有程序,并且Yarn会在任何情况下均拒绝发布该程序包。设置此标志还可以解锁某些在已发布的程序包中没有用的,例如工作区。

"private":true,

SPDX标识符,指示您的软件包以哪个许可证分发。请注意,可以通过设置来initLicense设置认许可证。v

"license":"MIT",

通过解析软件包时将用于解析要使用的合格路径的路径。可以在发布时通过使用该字段来此publishCon.main字段。

"main":"./sources/index.js",

与ES6兼容的环境尝试通过其访问程序包时将使用的路径。对纱线本身没有任何直接影响。

"module":"./sources/index.mjs",

器使用的枚举来确定哪个器应安装特定的软件包。仅允许某些值,请查阅文档以了解更多信息。

"languageName":"node",

用于将某些可执行Javascript公开给父包的字段。此处列出的所有条目都可以通过访问$PATH。请注意,出于可移植性原因,建议仅公开Javascript(shellscript和非js二进制要求具有特定的shell,并且与zip访问不兼容)。

"bin":{
"my-bin":"./dist/my-bin.js",
}

用于列出运行时将执行的小型Shell脚本的字段yarn run。认情况下,脚本是由微型外壳执行的,因此某些高级可能不可用(如果您有更复杂的需求,我们建议您仅执行Javascript)。请注意,包含:(冒号字符)的脚本是项目的,无论当前工作空间如何都可以它们。最后,请注意,脚本总是相对于最近的工作空间(而不是cwd)执行。

"scripts":{
"test":"jestv",
"build":"webpack-cli --con ./webpack.con.js",
"count-words":"echo \" $ @ \"| wc -w",
}

为了使它能够正常工作,必须使其对当前软件包可用的一组依赖关系。请查阅受范围的列表以更多信息。

"dependencies":{
"webpack":"^ 5.0.0",
}

与该dependencies字段类似,不同之处在于,如果这些条目具有任何构建脚本,则不需要正确构建这些条目。请注意,此类依赖项仍必须是可解析和可的(否则我们无法将其存储在锁中,这可能导致无法复制的安装)-只有构建步骤是可选的。

该字段通常不是您要查找的,除非您依赖fsevents软件包。如果仅在使用特定时才需要包,请使用可选的对等依赖项。您的必须使用它才能满足该要求,但是当需要该时,它不会导致构建被地吞没。

"optionalDependencies":{
"fsevents":"^ 5.0.0",
}

与该dependencies字段类似,除了这些依赖项仅安装在本地安装上,而不会由软件包的使用者安装。请注意,由于这将导致不同的安装树,具体取决于安装是以"生产"还是"开发"模式进行的,因此Yarn目前没有提供防止安装dev依赖项的。

"devDependencies":{
"webpack":"^ 5.0.0",
}

对等依赖项是继承的依赖项-您的程序包使用者将被要求提供它们。例如,编写时通常就是您想要的。请注意,对等依赖项也可以列为常规依赖项。种情况下,如果可能,Yarn将使用祖先提供的包,否则将回退到常规依赖项。

"peerDependencies":{
"react":"*",
"react-dom":"*",
}

workspaces是monorepos用来将大型项目拆分为半独立子项目的一项可选,每个子项目都列出了自己的一组依赖关系。该workspaces字段是全局模式列表,与应成为应用程序工作空所有目录匹配。

"workspaces":[
"packages / *",
]

该字段列出了与dependenciesand devDependencies字段中列出的依赖项有关的一些额外信息。在有工作空项目的上下文中,这些设置中的大多数都会影响所有工作空间,因此必须在项目的根目录中指定(除非另有说明,否则dependencies如果在工作空间中找到该字段,则将忽略该字段)。

"dependencies":{
"fsevents":{
如果为false,则将永远不会构建该软件包。enableScripts禁用全局设置时,设置此附加标志还将针对该特定软件包将警告降级为简单。
"built":false,
如果为true,则不需要成功构建就可以将安装视为成功。这就是该optionalDependencies领域的基础。
即使在嵌套清单中找到该设置,也将应用该设置,但是依赖树中的最高要求将普遍存在。
"optional":false,
如果为true,则指定的软件包将在安装时拔出。仅对于包含使用Java语言以外的其他语言的脚本的软件包(例如nan包含C ++标头)的软件包,才需要使用此命令。
"unplugged":true,
}
}
该字段列出了一些与该字段中列出的依赖项有关的额外信息peerDependencies。
"peerDependencies":{
"react-dom":{
如果为true,则程序包管理器会将选定的对等依赖项为可选,并且忽略该依赖项的使用者将不会被报告为。
"optional":true,
}
}
该字段允许您指示Yarn使用特定分辨率,而不是解析程序通常会选择的任何分辨率。这对于强制所有软件包使用单个版本的依赖项或向后移植修订很有用。解析键的语法接受一种级别的特异性,因此以下所有示例都是正确的。
"resolutions":{
"relay-compiler":"3.0.0",
"webpack / memory-fs":"0.4.1",
"@ babel / core / json5":"2.1.0",
"@ babel / core / @ babel / generator":"7.3.4",
"@ babel / core @ npm:7.0.0/@babel/generator":"7.3.4",
}
此字段包含各种设置,这些设置仅在从本地资源(通过yarn pack或其中一种发布命令yarn npm publish)软件包时才考虑。
"publishCon":{
定义将程序包发布到npm表时使用的程序包访问级别。有效值为public和restricted,但restricted通常需要付费计划(这取决于您使用的表)。
"access":"public",
如果存在,bin清单中的顶级字段将在打包打包以运送到远程表之前设置为此新值。这不会真正的清单,只会存储在tarball中的清单。
"bin":"./build/bin.js",
与publishCon.bin财产相同的原则;browser工作空间tarball时,将使用该值代替顶级字段。
"browser":"./build/browser.js",
与publishCon.bin财产相同的原则;main工作空间tarball时,将使用该值代替顶级字段。
"main":"./build/index.js",
与publishCon.bin财产相同的原则;module工作空间tarball时,将使用该值代替顶级字段。
"module":"./build/index.mjs",
如果存在,当将包推送到远程位置时,将替换配置中定义的任何表。
"registry":"https://npm.pkg.github.com",
}

联系我
置顶