mirror of
https://github.com/jaywcjlove/reference.git
synced 2025-06-23 23:41:29 +08:00
feat: add vim.md
regex.md
cheatsheet. 9ff36a3ac3
This commit is contained in:
@ -40,8 +40,8 @@
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="介绍"><a aria-hidden="true" tabindex="-1" href="#介绍"><span class="icon icon-link"></span></a>介绍</h3><div class="wrap-body">
|
||||
<p>本快速参考备忘清单是您需要了解的关于 package.json 文件中所需内容的全部内容。 它必须是实际的 JSON,而不仅仅是 JavaScript 对象字面量。</p>
|
||||
<ul>
|
||||
<li><a href="https://docs.npmjs.com/files/package.json">npm 文档</a> <em>(npmjs.com)</em></li>
|
||||
<li><a href="https://classic.yarnpkg.com/en/docs/package-json">yarnpkg 文档</a> <em>(yarnpkg.com)</em></li>
|
||||
<li><a href="https://docs.npmjs.com/files/package.json">npm 文档</a> <em>(npmjs.com)</em></li>
|
||||
<li><a href="https://classic.yarnpkg.com/en/docs/package-json">yarnpkg 文档</a> <em>(yarnpkg.com)</em></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="name"><a aria-hidden="true" tabindex="-1" href="#name"><span class="icon icon-link"></span></a><code>name</code></h3><div class="wrap-body">
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
@ -50,10 +50,10 @@
|
||||
</span></code></pre>
|
||||
<p><strong>规则</strong></p>
|
||||
<ul>
|
||||
<li>必须小于或等于214个字符(包括 <code>@scope/</code> 范围包)</li>
|
||||
<li>不能以点(<code>.</code>)或下划线(<code>_</code>)开头</li>
|
||||
<li>名称中不得包含大写字母</li>
|
||||
<li>必须仅使用URL安全字符</li>
|
||||
<li>必须小于或等于214个字符(包括 <code>@scope/</code> 范围包)</li>
|
||||
<li>不能以点(<code>.</code>)或下划线(<code>_</code>)开头</li>
|
||||
<li>名称中不得包含大写字母</li>
|
||||
<li>必须仅使用URL安全字符</li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="version"><a aria-hidden="true" tabindex="-1" href="#version"><span class="icon icon-link"></span></a><code>version</code></h3><div class="wrap-body">
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
@ -63,14 +63,15 @@
|
||||
<p>包的当前版本,严格遵循 <a href="http://semver.org/lang/zh-CN/">Semantic Versioning 2.0.0</a> 语义化版本规范。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="tips"><a aria-hidden="true" tabindex="-1" href="#tips"><span class="icon icon-link"></span></a>Tips</h3><div class="wrap-body">
|
||||
<ul>
|
||||
<li>不要使用和 <code>Node.js</code> 核心模块相同的名字。</li>
|
||||
<li>不要在名字里包含 <code>js</code> 或者 <code>node</code> 单词。</li>
|
||||
<li>短小精悍,让人看到名字就大概了解包的功能,记住它也会被用在 <code>require()</code> 调用里。</li>
|
||||
<li>保证名字在 <a href="https://www.npmjs.com/">npm registry</a> 里是唯一的。</li>
|
||||
<li>name 和 version 字段一起用于创建唯一ID</li>
|
||||
<li>不要使用和 <code>Node.js</code> 核心模块相同的名字。</li>
|
||||
<li>不要在名字里包含 <code>js</code> 或者 <code>node</code> 单词。</li>
|
||||
<li>短小精悍,让人看到名字就大概了解包的功能,记住它也会被用在 <code>require()</code> 调用里。</li>
|
||||
<li>保证名字在 <a href="https://www.npmjs.com/">npm registry</a> 里是唯一的。</li>
|
||||
<li>name 和 version 字段一起用于创建唯一ID</li>
|
||||
</ul>
|
||||
<p>如果没有 <code>name</code> 和<code>version</code> 字段,您的包将无法安装</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="安装-name-包"><a aria-hidden="true" tabindex="-1" href="#安装-name-包"><span class="icon icon-link"></span></a>安装 <code>name</code> 包</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="安装-name-包"><a aria-hidden="true" tabindex="-1" href="#安装-name-包"><span class="icon icon-link"></span></a>安装 <code>name</code> 包</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-sh"><code class="language-sh code-highlight"><span class="code-line line-number" line="1"><span class="token function">yarn</span> <span class="token function">add</span> <span class="token punctuation">[</span>包名<span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"># or</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token function">npm</span> <span class="token function">install</span> <span class="token punctuation">[</span>包名<span class="token punctuation">]</span>
|
||||
@ -80,7 +81,8 @@
|
||||
</span></code></pre>
|
||||
<p>npmjs 下载地址</p>
|
||||
<pre class="wrap-text"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">https://registry.npmjs.org/<span class="token punctuation">[</span>包名<span class="token punctuation">]</span>/-/<span class="token punctuation">[</span>包名<span class="token punctuation">]</span>-<span class="token punctuation">[</span>version<span class="token punctuation">]</span>.tgz
|
||||
</span></code></pre><!--rehype:className=wrap-text-->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text-->
|
||||
<p>这是您的 <code>包</code> 的名称。 它在URL中使用,作为参数命令行,以及 <code>node_modules</code> 中的目录名。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="信息类字段"><a aria-hidden="true" tabindex="-1" href="#信息类字段"><span class="icon icon-link"></span></a>信息类字段</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="description"><a aria-hidden="true" tabindex="-1" href="#description"><span class="icon icon-link"></span></a><code>description</code></h3><div class="wrap-body">
|
||||
@ -89,7 +91,8 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>帮助使用者了解包的功能的字符串,包管理器也会把这个字符串作为搜索关键词。</p>
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="license"><a aria-hidden="true" tabindex="-1" href="#license"><span class="icon icon-link"></span></a><code>license</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="license"><a aria-hidden="true" tabindex="-1" href="#license"><span class="icon icon-link"></span></a><code>license</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<p>所有包都应该指定许可证,以便让用户了解他们是在什么授权下使用此包,以及此包还有哪些附加限制。</p>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"license"</span><span class="token operator">:</span> <span class="token string">"MIT"</span><span class="token punctuation">,</span>
|
||||
@ -101,10 +104,10 @@
|
||||
<p>鼓励使用开源 <a href="https://opensource.org/licenses/alphabetical">(OSI-approved)</a> 许可证,除非你有特别的原因不用它。 如果你开发的包是你工作的一部分,最好和公司讨论后再做决定。</p>
|
||||
<p><strong>license字段必须是以下之一:</strong></p>
|
||||
<ul>
|
||||
<li>如果你使用标准的许可证,需要一个有效地 <a href="https://spdx.org/licenses/">SPDX 许可证标识</a>。</li>
|
||||
<li>如果你用多种标准许可证,需要有效的 <a href="https://www.npmjs.com/package/spdx">SPDX 许可证表达式2.0语法表达式</a>。</li>
|
||||
<li>如果你使用非标准的许可证,一个 <code>SEE LICENSE IN <文件名></code> 字符串指向你的包里顶级目录的一个 <文件名>。</li>
|
||||
<li>如果你不想在任何条款下授权其他人使用你的私有或未公开的包,一个 <code>UNLICENSED</code> 字符串。</li>
|
||||
<li>如果你使用标准的许可证,需要一个有效地 <a href="https://spdx.org/licenses/">SPDX 许可证标识</a>。</li>
|
||||
<li>如果你用多种标准许可证,需要有效的 <a href="https://www.npmjs.com/package/spdx">SPDX 许可证表达式2.0语法表达式</a>。</li>
|
||||
<li>如果你使用非标准的许可证,一个 <code>SEE LICENSE IN <文件名></code> 字符串指向你的包里顶级目录的一个 <文件名>。</li>
|
||||
<li>如果你不想在任何条款下授权其他人使用你的私有或未公开的包,一个 <code>UNLICENSED</code> 字符串。</li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="keywords"><a aria-hidden="true" tabindex="-1" href="#keywords"><span class="icon icon-link"></span></a><code>keywords</code></h3><div class="wrap-body">
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
@ -122,7 +125,8 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>是包的项目主页或者文档首页。</p>
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="repository"><a aria-hidden="true" tabindex="-1" href="#repository"><span class="icon icon-link"></span></a><code>repository</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="repository"><a aria-hidden="true" tabindex="-1" href="#repository"><span class="icon icon-link"></span></a><code>repository</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"repository"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"git"</span><span class="token punctuation">,</span> <span class="token property">"url"</span><span class="token operator">:</span> <span class="token string">"https://github.com/user/repo.git"</span>
|
||||
@ -153,7 +157,8 @@
|
||||
</span><span class="code-line line-number" line="8"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>作者信息,一个人。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="contributors"><a aria-hidden="true" tabindex="-1" href="#contributors"><span class="icon icon-link"></span></a><code>contributors</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="contributors"><a aria-hidden="true" tabindex="-1" href="#contributors"><span class="icon icon-link"></span></a><code>contributors</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"contributors"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token punctuation">{</span> <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Your Friend"</span><span class="token punctuation">,</span> <span class="token property">"email"</span><span class="token operator">:</span> <span class="token string">"friend@xxx.com"</span><span class="token punctuation">,</span> <span class="token property">"url"</span><span class="token operator">:</span> <span class="token string">"http://friends-xx.com"</span> <span class="token punctuation">}</span>
|
||||
@ -214,20 +219,21 @@
|
||||
</span></code></pre>
|
||||
<p>随着项目一起被安装的可执行文件。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="types"><a aria-hidden="true" tabindex="-1" href="#types"><span class="icon icon-link"></span></a><code>types</code></h3><div class="wrap-body">
|
||||
<p>这是一个只在 <a href="https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html">TypeScript</a> 中生效的字段,如果您的包有一个 <code>main.js</code> 文件,您还需要在 <code>package.json</code> 文件中指明主声明文件。 将 <code>types</code> 属性设置为指向 <code>bundled</code> 的声明文件。 例如:</p>
|
||||
<p>这是一个只在 <a href="https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html">TypeScript</a> 中生效的字段,如果您的包有一个 <code>main.js</code> 文件,您还需要在 <code>package.json</code> 文件中指明主声明文件。 将 <code>types</code> 属性设置为指向 <code>bundled</code> 的声明文件。 例如:</p>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"types"</span><span class="token operator">:</span> <span class="token string">"./lib/main.d.ts"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>如果您的主声明文件名为 <code>index.d.ts</code> 并且位于包的根目录(<code>index.js</code>旁边),则不需要标记 <code>types</code> 属性,建议这样做。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="打包包字段"><a aria-hidden="true" tabindex="-1" href="#打包包字段"><span class="icon icon-link"></span></a>打包包字段</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="esnext"><a aria-hidden="true" tabindex="-1" href="#esnext"><span class="icon icon-link"></span></a><code>esnext</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="esnext"><a aria-hidden="true" tabindex="-1" href="#esnext"><span class="icon icon-link"></span></a><code>esnext</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<p>完整的<a href="http://2ality.com/2017/04/transpiling-dependencies-babel.html">提案在这里</a>。 简短说明:</p>
|
||||
<ul>
|
||||
<li><code>esnext</code>:ES模块中使用阶段4功能(或更旧版本)的源代码,未编译。</li>
|
||||
<li><code>main</code>:指向一个CommonJS模块(或UMD模块),其 <code>JavaScript</code> 与 <code>Node.js</code> 当前可以处理的一样现代。</li>
|
||||
<li>大多数 <code>module</code> 用例应该可以通过 <code>esnext</code> 处理。</li>
|
||||
<li><code>browser</code> 可以通过 <code>esnext</code> 的扩展版本来处理</li>
|
||||
<li><code>esnext</code>:ES模块中使用阶段4功能(或更旧版本)的源代码,未编译。</li>
|
||||
<li><code>main</code>:指向一个CommonJS模块(或UMD模块),其 <code>JavaScript</code> 与 <code>Node.js</code> 当前可以处理的一样现代。</li>
|
||||
<li>大多数 <code>module</code> 用例应该可以通过 <code>esnext</code> 处理。</li>
|
||||
<li><code>browser</code> 可以通过 <code>esnext</code> 的扩展版本来处理</li>
|
||||
</ul>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"main"</span><span class="token operator">:</span> <span class="token string">"main.js"</span><span class="token punctuation">,</span>
|
||||
@ -265,27 +271,28 @@
|
||||
<p>有一些特殊的脚本名称。 如果定义了 <code>preinstall</code> 脚本,它会在包安装前被调用。 出于兼容性考虑,<code>install</code>、<code>postinstall</code> 和 <code>prepublish</code> 脚本会在包完成安装后被调用。</p>
|
||||
<p><code>start</code> 脚本的默认值为 <code>node server.js</code>。</p>
|
||||
<p>参考文档:<a href="https://docs.npmjs.com/files/package.json#default-values">npm docs</a></p>
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="特定的-scripts"><a aria-hidden="true" tabindex="-1" href="#特定的-scripts"><span class="icon icon-link"></span></a>特定的 <code>scripts</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="特定的-scripts"><a aria-hidden="true" tabindex="-1" href="#特定的-scripts"><span class="icon icon-link"></span></a>特定的 <code>scripts</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<p>对于以下脚本,<code>npm</code> 支持 <code>package.json</code> 文件的 <code>scripts</code> 默认命令字段:</p>
|
||||
<ul>
|
||||
<li><code>prepublish</code>: 在打包并发布包之前运行,以及在没有任何参数的本地 <code>npm</code> 安装之前运行。 (见下文)</li>
|
||||
<li><code>prepare</code>: 在打包和发布包之前运行,在没有任何参数的本地 <code>npm install</code> 上运行,以及安装 git 依赖项时(见下文)。 这是在 <code>preublish</code> 之后运行,但是在 <code>preublishOnly</code> 之前运行。</li>
|
||||
<li><code>prepublishOnly</code>: 在包准备和打包之前运行,仅限于npm发布。 (见下文。)</li>
|
||||
<li><code>prepack</code>: 在打包 <code>tarball</code> 之前运行(在 <code>npm pack</code>,<code>npm publish</code>,以及安装 git 依赖项时)</li>
|
||||
<li><code>postpack</code>: 在生成 <code>tarball</code> 之后运行并移动到其最终目标。</li>
|
||||
<li><code>publish</code>, <code>postpublish</code>: 在包发布后运行。</li>
|
||||
<li><code>preinstall</code>: 在安装软件包之前运行。</li>
|
||||
<li><code>install</code>, <code>postinstall</code>: 安装包后运行。</li>
|
||||
<li><code>preuninstall</code>, <code>uninstall</code>: 在卸载软件包之前运行。</li>
|
||||
<li><code>postuninstall</code>: 在卸载软件包之后运行。</li>
|
||||
<li><code>preversion</code>: 在改变包版本之前运行。</li>
|
||||
<li><code>version</code>: 改变包版本后运行,但提交之前。</li>
|
||||
<li><code>postversion</code>: 改变包版本后运行,然后提交。</li>
|
||||
<li><code>pretest</code>, <code>test</code>, <code>posttest</code>: 由 <code>npm test</code> 命令运行。</li>
|
||||
<li><code>prestop</code>, <code>stop</code>, <code>poststop</code>: 由 <code>npm stop</code> 命令运行。</li>
|
||||
<li><code>prestart</code>, <code>start</code>, <code>poststart</code>: 由 <code>npm start</code> 命令运行。</li>
|
||||
<li><code>prerestart</code>, <code>restart</code>, <code>postrestart</code>: 由 <code>npm restart</code> 命令运行。 注意:如果没有提供重启脚本,<code>npm restart</code> 将运行 <code>stop</code> 和<code>start</code> 脚本。</li>
|
||||
<li><code>preshrinkwrap</code>, <code>shrinkwrap</code>, <code>postshrinkwrap</code>: 由 <code>npm shrinkwrap</code> 命令运行。</li>
|
||||
<li><code>prepublish</code>: 在打包并发布包之前运行,以及在没有任何参数的本地 <code>npm</code> 安装之前运行。 (见下文)</li>
|
||||
<li><code>prepare</code>: 在打包和发布包之前运行,在没有任何参数的本地 <code>npm install</code> 上运行,以及安装 git 依赖项时(见下文)。 这是在 <code>preublish</code> 之后运行,但是在 <code>preublishOnly</code> 之前运行。</li>
|
||||
<li><code>prepublishOnly</code>: 在包准备和打包之前运行,仅限于npm发布。 (见下文。)</li>
|
||||
<li><code>prepack</code>: 在打包 <code>tarball</code> 之前运行(在 <code>npm pack</code>,<code>npm publish</code>,以及安装 git 依赖项时)</li>
|
||||
<li><code>postpack</code>: 在生成 <code>tarball</code> 之后运行并移动到其最终目标。</li>
|
||||
<li><code>publish</code>, <code>postpublish</code>: 在包发布后运行。</li>
|
||||
<li><code>preinstall</code>: 在安装软件包之前运行。</li>
|
||||
<li><code>install</code>, <code>postinstall</code>: 安装包后运行。</li>
|
||||
<li><code>preuninstall</code>, <code>uninstall</code>: 在卸载软件包之前运行。</li>
|
||||
<li><code>postuninstall</code>: 在卸载软件包之后运行。</li>
|
||||
<li><code>preversion</code>: 在改变包版本之前运行。</li>
|
||||
<li><code>version</code>: 改变包版本后运行,但提交之前。</li>
|
||||
<li><code>postversion</code>: 改变包版本后运行,然后提交。</li>
|
||||
<li><code>pretest</code>, <code>test</code>, <code>posttest</code>: 由 <code>npm test</code> 命令运行。</li>
|
||||
<li><code>prestop</code>, <code>stop</code>, <code>poststop</code>: 由 <code>npm stop</code> 命令运行。</li>
|
||||
<li><code>prestart</code>, <code>start</code>, <code>poststart</code>: 由 <code>npm start</code> 命令运行。</li>
|
||||
<li><code>prerestart</code>, <code>restart</code>, <code>postrestart</code>: 由 <code>npm restart</code> 命令运行。 注意:如果没有提供重启脚本,<code>npm restart</code> 将运行 <code>stop</code> 和<code>start</code> 脚本。</li>
|
||||
<li><code>preshrinkwrap</code>, <code>shrinkwrap</code>, <code>postshrinkwrap</code>: 由 <code>npm shrinkwrap</code> 命令运行。</li>
|
||||
</ul>
|
||||
<p>参考文档:<a href="https://docs.npmjs.com/misc/scripts">npm docs</a>.</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="config"><a aria-hidden="true" tabindex="-1" href="#config"><span class="icon icon-link"></span></a><code>config</code></h3><div class="wrap-body">
|
||||
@ -305,7 +312,8 @@
|
||||
<p>配置中的键作为环境变量公开给脚本(scripts)。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="依赖描述类字段"><a aria-hidden="true" tabindex="-1" href="#依赖描述类字段"><span class="icon icon-link"></span></a>依赖描述类字段</h2><div class="wrap-body">
|
||||
<p>你的包很可能依赖其他包。你可以在你的 <code>package.json</code> 文件里指定那些依赖。</p>
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="dependencies"><a aria-hidden="true" tabindex="-1" href="#dependencies"><span class="icon icon-link"></span></a><code>dependencies</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="dependencies"><a aria-hidden="true" tabindex="-1" href="#dependencies"><span class="icon icon-link"></span></a><code>dependencies</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<p>这些是你的包的开发版和发布版都需要的依赖。</p>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"dependencies"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
@ -327,11 +335,10 @@
|
||||
</span><span class="code-line line-number" line="18"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="19"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>
|
||||
你可以指定一个确切的版本、一个最小的版本 (比如 <code>>=</code>) 或者一个版本范围 (比如 <code>>= ... <</code>)。 包也可以指向本地的一个目录文件夹。
|
||||
参考文档:<a href="https://docs.npmjs.com/cli/v8/configuring-npm/package-json#dependencies">npm docs</a>.
|
||||
</p>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="workspaces"><a aria-hidden="true" tabindex="-1" href="#workspaces"><span class="icon icon-link"></span></a>workspaces</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
<p>你可以指定一个确切的版本、一个最小的版本 (比如 <code>>=</code>) 或者一个版本范围 (比如 <code>>= ... <</code>)。 包也可以指向本地的一个目录文件夹。
|
||||
参考文档:<a href="https://docs.npmjs.com/cli/v8/configuring-npm/package-json#dependencies">npm docs</a>.</p>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="workspaces"><a aria-hidden="true" tabindex="-1" href="#workspaces"><span class="icon icon-link"></span></a>workspaces</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"my-workspaces-powered-project"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"workspaces"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
@ -362,7 +369,8 @@
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>这些是只在你的包开发期间需要,但是生产环境不会被安装的包。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="peerdependencies"><a aria-hidden="true" tabindex="-1" href="#peerdependencies"><span class="icon icon-link"></span></a><code>peerDependencies</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="peerdependencies"><a aria-hidden="true" tabindex="-1" href="#peerdependencies"><span class="icon icon-link"></span></a><code>peerDependencies</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"peerDependencies"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"package-3"</span><span class="token operator">:</span> <span class="token string">"^2.7.18"</span>
|
||||
@ -403,7 +411,8 @@
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="系统"><a aria-hidden="true" tabindex="-1" href="#系统"><span class="icon icon-link"></span></a>系统</h2><div class="wrap-body">
|
||||
<p>你可以提供和你的包关联的系统级的信息,比如操作系统兼容性之类。</p>
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="engines"><a aria-hidden="true" tabindex="-1" href="#engines"><span class="icon icon-link"></span></a><code>engines</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="engines"><a aria-hidden="true" tabindex="-1" href="#engines"><span class="icon icon-link"></span></a><code>engines</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<p>指定使用你的包客户必须使用的版本,这将检查 <code>process.versions</code> 以及当前 <code>yarn</code> 版本。</p>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"engines"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
@ -436,7 +445,8 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>如果你不想你的包发布到包管理器(npm 或者 私有包管理),设置为 <code>true</code>。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="publishconfig"><a aria-hidden="true" tabindex="-1" href="#publishconfig"><span class="icon icon-link"></span></a><code>publishConfig</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="publishconfig"><a aria-hidden="true" tabindex="-1" href="#publishconfig"><span class="icon icon-link"></span></a><code>publishConfig</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<p>这些配置值将在你的包发布时使用。比如,你可以给包打标签。</p>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"publishConfig"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
@ -454,7 +464,8 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>请注意,如果你的 <code>package.json</code> 包含 <code>"flat": true</code> 并且其它包依赖你的包 (比如你在构建一个库,而不是应用), 其它那些包也需要在它们的 <code>package.json</code> 加上 <code>"flat": true</code>,或者在命令行上用 <code>yarn install --flat</code> 安装。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="resolutions"><a aria-hidden="true" tabindex="-1" href="#resolutions"><span class="icon icon-link"></span></a><code>resolutions</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="resolutions"><a aria-hidden="true" tabindex="-1" href="#resolutions"><span class="icon icon-link"></span></a><code>resolutions</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"resolutions"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"transitive-package-1"</span><span class="token operator">:</span> <span class="token string">"0.0.29"</span><span class="token punctuation">,</span>
|
||||
@ -467,8 +478,7 @@
|
||||
<p>注意,<code>yarn install --flat</code> 命令将会自动在 <code>package.json</code> 文件里加入 <code>resolutions</code> 字段。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://jaywcjlove.github.io/package.json">PACKAGE.JSON 中文说明</a> <em>(github.io)</em></li>
|
||||
<li><a href="https://jaywcjlove.github.io/package.json">PACKAGE.JSON 中文说明</a> <em>(github.io)</em></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
Reference in New Issue
Block a user