mirror of
https://github.com/jaywcjlove/reference.git
synced 2025-06-23 23:41:29 +08:00
doc: Update react.md
cheatsheet. a723b97df5
This commit is contained in:
@ -44,9 +44,9 @@
|
||||
<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>
|
||||
</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-awesome-package"</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"my-awesome-package"</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p><strong>规则</strong></p>
|
||||
<ul>
|
||||
@ -56,9 +56,9 @@
|
||||
<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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"version"</span><span class="token operator">:</span> <span class="token string">"1.0.0"</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"version"</span><span class="token operator">:</span> <span class="token string">"1.0.0"</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<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">
|
||||
@ -72,34 +72,34 @@
|
||||
<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-->
|
||||
<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>
|
||||
<pre class="language-sh"><code class="language-sh code-highlight"><span class="code-line"><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"><span class="token comment"># or</span>
|
||||
</span><span class="code-line"><span class="token function">npm</span> <span class="token function">install</span> <span class="token punctuation">[</span>包名<span class="token punctuation">]</span>
|
||||
</span></code></pre>
|
||||
<p>安装后存放位置</p>
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">node_modules/<span class="token punctuation">[</span>包名<span class="token punctuation">]</span>
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">node_modules/<span class="token punctuation">[</span>包名<span class="token punctuation">]</span>
|
||||
</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
|
||||
<pre class="wrap-text"><code class="language-bash code-highlight"><span class="code-line">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-->
|
||||
<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">
|
||||
<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">"description"</span><span class="token operator">:</span> <span class="token string">"我的包的概要简短描述"</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"description"</span><span class="token operator">:</span> <span class="token string">"我的包的概要简短描述"</span>
|
||||
</span><span class="code-line"><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-->
|
||||
<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>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"license"</span><span class="token operator">:</span> <span class="token string">"(MIT or GPL-3.0)"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token property">"license"</span><span class="token operator">:</span> <span class="token string">"SEE LICENSE IN LICENSE_FILENAME.txt"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token property">"license"</span><span class="token operator">:</span> <span class="token string">"UNLICENSED"</span>
|
||||
</span><span class="code-line line-number" line="6"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"license"</span><span class="token operator">:</span> <span class="token string">"MIT"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"license"</span><span class="token operator">:</span> <span class="token string">"(MIT or GPL-3.0)"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"license"</span><span class="token operator">:</span> <span class="token string">"SEE LICENSE IN LICENSE_FILENAME.txt"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"license"</span><span class="token operator">:</span> <span class="token string">"UNLICENSED"</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>鼓励使用开源 <a href="https://opensource.org/licenses/alphabetical">(OSI-approved)</a> 许可证,除非你有特别的原因不用它。 如果你开发的包是你工作的一部分,最好和公司讨论后再做决定。</p>
|
||||
<p><strong>license字段必须是以下之一:</strong></p>
|
||||
@ -110,119 +110,119 @@
|
||||
<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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"keywords"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token string">"short"</span><span class="token punctuation">,</span> <span class="token string">"relevant"</span><span class="token punctuation">,</span> <span class="token string">"keywords"</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"keywords"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line"> <span class="token string">"short"</span><span class="token punctuation">,</span> <span class="token string">"relevant"</span><span class="token punctuation">,</span> <span class="token string">"keywords"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>一个字符串数组,当在包管理器里搜索包时很有用。</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>各种指向项目文档、issues 上报,以及代码托管网站的链接字段。</p>
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="homepage"><a aria-hidden="true" tabindex="-1" href="#homepage"><span class="icon icon-link"></span></a><code>homepage</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"homepage"</span><span class="token operator">:</span> <span class="token string">"https://your-package.org"</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"homepage"</span><span class="token operator">:</span> <span class="token string">"https://your-package.org"</span>
|
||||
</span><span class="code-line"><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-->
|
||||
<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>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token property">"repository"</span><span class="token operator">:</span> <span class="token string">"github:user/repo"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token property">"repository"</span><span class="token operator">:</span> <span class="token string">"gitlab:user/repo"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="7"> <span class="token property">"repository"</span><span class="token operator">:</span> <span class="token string">"bitbucket:user/repo"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="8"> <span class="token property">"repository"</span><span class="token operator">:</span> <span class="token string">"gist:a1b2c3d4e5f"</span>
|
||||
</span><span class="code-line line-number" line="9"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"repository"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <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>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"repository"</span><span class="token operator">:</span> <span class="token string">"github:user/repo"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"repository"</span><span class="token operator">:</span> <span class="token string">"gitlab:user/repo"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"repository"</span><span class="token operator">:</span> <span class="token string">"bitbucket:user/repo"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"repository"</span><span class="token operator">:</span> <span class="token string">"gist:a1b2c3d4e5f"</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>包的实际代码所在的位置。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="bugs"><a aria-hidden="true" tabindex="-1" href="#bugs"><span class="icon icon-link"></span></a><code>bugs</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"bugs"</span><span class="token operator">:</span> <span class="token string">"https://github.com/user/repo/issues"</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"bugs"</span><span class="token operator">:</span> <span class="token string">"https://github.com/user/repo/issues"</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>问题反馈系统的 URL,或者是 email 地址之类的链接。用户通过该途径向你反馈问题。</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="author"><a aria-hidden="true" tabindex="-1" href="#author"><span class="icon icon-link"></span></a><code>author</code></h3><div class="wrap-body">
|
||||
<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">"author"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Your Name"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token property">"email"</span><span class="token operator">:</span> <span class="token string">"you@xxx.com"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token property">"url"</span><span class="token operator">:</span> <span class="token string">"http://your-x.com"</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="7"> <span class="token property">"author"</span><span class="token operator">:</span> <span class="token string">"Your Name <you@xxx.com> (http://your-x.com)"</span>
|
||||
</span><span class="code-line line-number" line="8"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"author"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Your Name"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"email"</span><span class="token operator">:</span> <span class="token string">"you@xxx.com"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"url"</span><span class="token operator">:</span> <span class="token string">"http://your-x.com"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"author"</span><span class="token operator">:</span> <span class="token string">"Your Name <you@xxx.com> (http://your-x.com)"</span>
|
||||
</span><span class="code-line"><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-->
|
||||
<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>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">{</span> <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Other Friend"</span><span class="token punctuation">,</span> <span class="token property">"email"</span><span class="token operator">:</span> <span class="token string">"other@xxx.com"</span><span class="token punctuation">,</span> <span class="token property">"url"</span><span class="token operator">:</span> <span class="token string">"http://other-xx.com"</span> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token punctuation">]</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token property">"contributors"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line line-number" line="7"> <span class="token string">"Your Friend <friend@xxx.com> (http://friends-xx.com)"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="8"> <span class="token string">"Other Friend <other@xxx.com> (http://other-xx.com)"</span>
|
||||
</span><span class="code-line line-number" line="9"> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="10"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"contributors"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line"> <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>
|
||||
</span><span class="code-line"> <span class="token punctuation">{</span> <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Other Friend"</span><span class="token punctuation">,</span> <span class="token property">"email"</span><span class="token operator">:</span> <span class="token string">"other@xxx.com"</span><span class="token punctuation">,</span> <span class="token property">"url"</span><span class="token operator">:</span> <span class="token string">"http://other-xx.com"</span> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">]</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"contributors"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line"> <span class="token string">"Your Friend <friend@xxx.com> (http://friends-xx.com)"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token string">"Other Friend <other@xxx.com> (http://other-xx.com)"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>贡献者信息,可能很多人。</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>指定包含在项目中的文件,以及项目的入口文件。</p>
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="files"><a aria-hidden="true" tabindex="-1" href="#files"><span class="icon icon-link"></span></a><code>files</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"files"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token string">"filename.js"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token string">"directory/"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token string">"glob/*.{js,json}"</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="7"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"files"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line"> <span class="token string">"filename.js"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token string">"directory/"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token string">"glob/*.{js,json}"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>项目包含的文件,可以是单独的文件、整个文件夹,或者通配符匹配到的文件。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="main"><a aria-hidden="true" tabindex="-1" href="#main"><span class="icon icon-link"></span></a><code>main</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"main"</span><span class="token operator">:</span> <span class="token string">"filename.js"</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"main"</span><span class="token operator">:</span> <span class="token string">"filename.js"</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>项目的入口文件。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="man"><a aria-hidden="true" tabindex="-1" href="#man"><span class="icon icon-link"></span></a><code>man</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"man"</span><span class="token operator">:</span> <span class="token string">"./man/doc.1"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"man"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"./man/doc.1"</span><span class="token punctuation">,</span> <span class="token string">"./man/doc.2"</span><span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="4"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"man"</span><span class="token operator">:</span> <span class="token string">"./man/doc.1"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"man"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"./man/doc.1"</span><span class="token punctuation">,</span> <span class="token string">"./man/doc.2"</span><span class="token punctuation">]</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>项目的入口文件。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="directories"><a aria-hidden="true" tabindex="-1" href="#directories"><span class="icon icon-link"></span></a><code>directories</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"directories"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"lib"</span><span class="token operator">:</span> <span class="token string">"path/to/lib/"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token property">"bin"</span><span class="token operator">:</span> <span class="token string">"path/to/bin/"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token property">"man"</span><span class="token operator">:</span> <span class="token string">"path/to/man/"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token property">"doc"</span><span class="token operator">:</span> <span class="token string">"path/to/doc/"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="7"> <span class="token property">"example"</span><span class="token operator">:</span> <span class="token string">"path/to/example/"</span>
|
||||
</span><span class="code-line line-number" line="8"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="9"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"directories"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"lib"</span><span class="token operator">:</span> <span class="token string">"path/to/lib/"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"bin"</span><span class="token operator">:</span> <span class="token string">"path/to/bin/"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"man"</span><span class="token operator">:</span> <span class="token string">"path/to/man/"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"doc"</span><span class="token operator">:</span> <span class="token string">"path/to/doc/"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"example"</span><span class="token operator">:</span> <span class="token string">"path/to/example/"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>当你的包安装时,你可以指定确切的位置来放二进制文件、man pages、文档、例子等。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="bin"><a aria-hidden="true" tabindex="-1" href="#bin"><span class="icon icon-link"></span></a><code>bin</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"bin"</span><span class="token operator">:</span> <span class="token string">"bin.js"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"bin"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token property">"命令名称"</span><span class="token operator">:</span> <span class="token string">"bin/命令路径/命令名称.js"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token property">"other-command"</span><span class="token operator">:</span> <span class="token string">"bin/other-command"</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="7"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"bin"</span><span class="token operator">:</span> <span class="token string">"bin.js"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"bin"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"命令名称"</span><span class="token operator">:</span> <span class="token string">"bin/命令路径/命令名称.js"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"other-command"</span><span class="token operator">:</span> <span class="token string">"bin/other-command"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</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>
|
||||
<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>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <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"><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">
|
||||
@ -235,37 +235,37 @@
|
||||
<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>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"esnext"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token property">"main"</span><span class="token operator">:</span> <span class="token string">"main-esnext.js"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token property">"browser"</span><span class="token operator">:</span> <span class="token string">"browser-specific-main-esnext.js"</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="7"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"main"</span><span class="token operator">:</span> <span class="token string">"main.js"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"esnext"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"main"</span><span class="token operator">:</span> <span class="token string">"main-esnext.js"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"browser"</span><span class="token operator">:</span> <span class="token string">"browser-specific-main-esnext.js"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>另请参阅:<a href="http://2ality.com/2017/06/pkg-esnext.html">通过 npm 交付未编译的源代码</a></p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="module"><a aria-hidden="true" tabindex="-1" href="#module"><span class="icon icon-link"></span></a><code>module</code></h3><div class="wrap-body">
|
||||
<p><code>pkg.module</code> 将指向具有 <code>ES2015</code> 模块语法的模块,但仅指向目标环境支持的语法功能。 完整的描述<a href="https://github.com/rollup/rollup/wiki/pkg.module">在这里</a>。</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">"module"</span><span class="token operator">:</span> <span class="token string">"dist/my-package.esm.js"</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"module"</span><span class="token operator">:</span> <span class="token string">"dist/my-package.esm.js"</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>支持:<a href="https://github.com/rollup/rollup-plugin-node-resolve">rollup</a>, <a href="https://webpack.js.org/configuration/resolve/#resolve-mainfields">webpack</a></p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="browser"><a aria-hidden="true" tabindex="-1" href="#browser"><span class="icon icon-link"></span></a><code>browser</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 property">"browser"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"module-a"</span><span class="token operator">:</span> <span class="token string">"./shims/module-a.js"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"./server/only.js"</span><span class="token operator">:</span> <span class="token string">"./shims/client-only.js"</span>
|
||||
</span><span class="code-line line-number" line="4"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token property">"browser"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"module-a"</span><span class="token operator">:</span> <span class="token string">"./shims/module-a.js"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"./server/only.js"</span><span class="token operator">:</span> <span class="token string">"./shims/client-only.js"</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>字段由模块作者提供,作为 <code>JavaScript</code> 包或组件工具的提示,用于打包模块以供客户端使用。 提案就<a href="https://github.com/defunctzombie/package-browser-field-spec">在这里</a>。</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>包里还可以包含一些可执行脚本或者其他配置信息。</p>
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><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">
|
||||
<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">"scripts"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"build-project"</span><span class="token operator">:</span> <span class="token string">"node build-project.js"</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"scripts"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"build-project"</span><span class="token operator">:</span> <span class="token string">"node build-project.js"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>脚本是定义自动化开发相关任务的好方法,比如使用一些简单的构建过程或开发工具。 在 <code>scripts</code> 字段里定义的脚本,可以通过 <code>yarn run <script></code> 命令来执行。 例如,上述 <code>build-project</code> 脚本可以通过 <code>yarn run build-project</code> 调用,并执行 <code>node build-project.js</code>。</p>
|
||||
<p>有一些特殊的脚本名称。 如果定义了 <code>preinstall</code> 脚本,它会在包安装前被调用。 出于兼容性考虑,<code>install</code>、<code>postinstall</code> 和 <code>prepublish</code> 脚本会在包完成安装后被调用。</p>
|
||||
@ -296,18 +296,18 @@
|
||||
</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">
|
||||
<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">"config"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"port"</span><span class="token operator">:</span> <span class="token string">"8080"</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"config"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"port"</span><span class="token operator">:</span> <span class="token string">"8080"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<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">"scripts"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"run"</span><span class="token operator">:</span> <span class="token string">"echo $npm_package_config_port"</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"scripts"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"run"</span><span class="token operator">:</span> <span class="token string">"echo $npm_package_config_port"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<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">
|
||||
@ -315,164 +315,164 @@
|
||||
</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>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"colors"</span><span class="token operator">:</span> <span class="token string">"*"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token property">"foo"</span><span class="token operator">:</span> <span class="token string">"1.0.0 - 2.9999.9999"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token property">"bar"</span><span class="token operator">:</span> <span class="token string">">=1.0.2 <2.1.2"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token property">"baz"</span><span class="token operator">:</span> <span class="token string">">1.0.2 <=2.3.4"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="7"> <span class="token property">"boo"</span><span class="token operator">:</span> <span class="token string">"2.0.1"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="8"> <span class="token property">"qux"</span><span class="token operator">:</span> <span class="token string">"<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="9"> <span class="token property">"asd"</span><span class="token operator">:</span> <span class="token string">"http://asdf.com/asdf.tar.gz"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="10"> <span class="token property">"til"</span><span class="token operator">:</span> <span class="token string">"~1.2"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="11"> <span class="token property">"elf"</span><span class="token operator">:</span> <span class="token string">"~1.2.3"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="12"> <span class="token property">"two"</span><span class="token operator">:</span> <span class="token string">"2.x"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="13"> <span class="token property">"thr"</span><span class="token operator">:</span> <span class="token string">"3.3.x"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="14"> <span class="token property">"lat"</span><span class="token operator">:</span> <span class="token string">"latest"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="15"> <span class="token property">"dyl"</span><span class="token operator">:</span> <span class="token string">"file:./path/to/dyl"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="16"> <span class="token property">"pla"</span><span class="token operator">:</span> <span class="token string">"https://github.com/user/project/tarball/branch"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="17"> <span class="token property">"stu"</span><span class="token operator">:</span> <span class="token string">"git://github.com/user/project.git#commit-ish"</span>
|
||||
</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>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"dependencies"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"colors"</span><span class="token operator">:</span> <span class="token string">"*"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"foo"</span><span class="token operator">:</span> <span class="token string">"1.0.0 - 2.9999.9999"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"bar"</span><span class="token operator">:</span> <span class="token string">">=1.0.2 <2.1.2"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"baz"</span><span class="token operator">:</span> <span class="token string">">1.0.2 <=2.3.4"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"boo"</span><span class="token operator">:</span> <span class="token string">"2.0.1"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"qux"</span><span class="token operator">:</span> <span class="token string">"<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"asd"</span><span class="token operator">:</span> <span class="token string">"http://asdf.com/asdf.tar.gz"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"til"</span><span class="token operator">:</span> <span class="token string">"~1.2"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"elf"</span><span class="token operator">:</span> <span class="token string">"~1.2.3"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"two"</span><span class="token operator">:</span> <span class="token string">"2.x"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"thr"</span><span class="token operator">:</span> <span class="token string">"3.3.x"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"lat"</span><span class="token operator">:</span> <span class="token string">"latest"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"dyl"</span><span class="token operator">:</span> <span class="token string">"file:./path/to/dyl"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"pla"</span><span class="token operator">:</span> <span class="token string">"https://github.com/user/project/tarball/branch"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"stu"</span><span class="token operator">:</span> <span class="token string">"git://github.com/user/project.git#commit-ish"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><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-->
|
||||
<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>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token string">"./pkg/*"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token string">"packages/a"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token string">"packages/b"</span>
|
||||
</span><span class="code-line line-number" line="7"> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="8"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <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"> <span class="token property">"workspaces"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line"> <span class="token string">"./pkg/*"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token string">"packages/a"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token string">"packages/b"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>支持从单个顶级根包中管理本地文件系统中的多个包。</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">├┈┈ node_modules
|
||||
</span><span class="code-line line-number" line="2">┆ ├┈┈ a -<span class="token operator">></span> <span class="token punctuation">..</span>/packages/a
|
||||
</span><span class="code-line line-number" line="3">┆ ╰┈┈ b -<span class="token operator">></span> <span class="token punctuation">..</span>/packages/b
|
||||
</span><span class="code-line line-number" line="4">├┈┈ package-lock.json
|
||||
</span><span class="code-line line-number" line="5">├┈┈ package.json
|
||||
</span><span class="code-line line-number" line="6">╰┈┈ packages
|
||||
</span><span class="code-line line-number" line="7"> ├┈┈ a
|
||||
</span><span class="code-line line-number" line="8"> ┆ ╰┈┈ package.json
|
||||
</span><span class="code-line line-number" line="9"> ├┈┈ b
|
||||
</span><span class="code-line line-number" line="10"> ┆ ╰┈┈ package.json
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line">├┈┈ node_modules
|
||||
</span><span class="code-line">┆ ├┈┈ a -<span class="token operator">></span> <span class="token punctuation">..</span>/packages/a
|
||||
</span><span class="code-line">┆ ╰┈┈ b -<span class="token operator">></span> <span class="token punctuation">..</span>/packages/b
|
||||
</span><span class="code-line">├┈┈ package-lock.json
|
||||
</span><span class="code-line">├┈┈ package.json
|
||||
</span><span class="code-line">╰┈┈ packages
|
||||
</span><span class="code-line"> ├┈┈ a
|
||||
</span><span class="code-line"> ┆ ╰┈┈ package.json
|
||||
</span><span class="code-line"> ├┈┈ b
|
||||
</span><span class="code-line"> ┆ ╰┈┈ package.json
|
||||
</span></code></pre>
|
||||
<p>参考文档:<a href="https://docs.npmjs.com/cli/v8/using-npm/workspaces">workspaces</a></p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="devdependencies"><a aria-hidden="true" tabindex="-1" href="#devdependencies"><span class="icon icon-link"></span></a><code>devDependencies</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"devDependencies"</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-2"</span><span class="token operator">:</span> <span class="token string">"^0.4.2"</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"devDependencies"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"package-2"</span><span class="token operator">:</span> <span class="token string">"^0.4.2"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><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-->
|
||||
<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>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"peerDependencies"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"package-3"</span><span class="token operator">:</span> <span class="token string">"^2.7.18"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>平行依赖允许你说明你的包和其他包版本的兼容性。添加可选设置以消除丢失的对等依赖性警告,<a href="https://github.com/yarnpkg/yarn/pull/6671">#6671</a> 。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="optionaldependencies"><a aria-hidden="true" tabindex="-1" href="#optionaldependencies"><span class="icon icon-link"></span></a><code>optionalDependencies</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"optionalDependencies"</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-5"</span><span class="token operator">:</span> <span class="token string">"^1.6.1"</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"optionalDependencies"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"package-5"</span><span class="token operator">:</span> <span class="token string">"^1.6.1"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>可选依赖可以用于你的包,但不是必需的。如果可选包没有找到,安装还可以继续。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="bundleddependencies"><a aria-hidden="true" tabindex="-1" href="#bundleddependencies"><span class="icon icon-link"></span></a><code>bundledDependencies</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"bundledDependencies"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token string">"package-4"</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"bundledDependencies"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line"> <span class="token string">"package-4"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>打包依赖是发布你的包时将会一起打包的一个包名数组。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="peerdependenciesmeta"><a aria-hidden="true" tabindex="-1" href="#peerdependenciesmeta"><span class="icon icon-link"></span></a><code>peerDependenciesMeta</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"peerDependenciesMeta"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"node-sass"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token property">"optional"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token property">"sass"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="7"> <span class="token property">"optional"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
||||
</span><span class="code-line line-number" line="8"> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="9"> <span class="token property">"fibers"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="10"> <span class="token property">"optional"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
||||
</span><span class="code-line line-number" line="11"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="12"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="13"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"peerDependenciesMeta"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"node-sass"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"optional"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"sass"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"optional"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"fibers"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"optional"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</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-->
|
||||
<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>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"node"</span><span class="token operator">:</span> <span class="token string">"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token property">"node"</span><span class="token operator">:</span> <span class="token string">">=4.4.7 <7.0.0"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token property">"zlib"</span><span class="token operator">:</span> <span class="token string">"^1.2.8"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token property">"yarn"</span><span class="token operator">:</span> <span class="token string">"^0.14.0"</span>
|
||||
</span><span class="code-line line-number" line="7"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="8"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"engines"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"node"</span><span class="token operator">:</span> <span class="token string">"^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"node"</span><span class="token operator">:</span> <span class="token string">">=4.4.7 <7.0.0"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"zlib"</span><span class="token operator">:</span> <span class="token string">"^1.2.8"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"yarn"</span><span class="token operator">:</span> <span class="token string">"^0.14.0"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>此检查遵守正常的 <a href="http://semver.org/lang/zh-CN/">semver</a> 规则,但有一个例外。 它允许预发布版本匹配未明确指定预发布的 <a href="http://semver.org/lang/zh-CN/">semver</a>。 例如,<code>1.4.0-rc.0</code> 匹配 <code>>=1.3.0</code>,但它与典型的 <code>semver</code> 检查不匹配。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="os"><a aria-hidden="true" tabindex="-1" href="#os"><span class="icon icon-link"></span></a><code>os</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"os"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"darwin"</span><span class="token punctuation">,</span> <span class="token string">"linux"</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"os"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"!win32"</span><span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="4"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"os"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"darwin"</span><span class="token punctuation">,</span> <span class="token string">"linux"</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"os"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"!win32"</span><span class="token punctuation">]</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>此选项指定你的包的操作系统兼容性,它会检查 <code>process.platform</code>。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="cpu"><a aria-hidden="true" tabindex="-1" href="#cpu"><span class="icon icon-link"></span></a><code>cpu</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"cpu"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"x64"</span><span class="token punctuation">,</span> <span class="token string">"ia32"</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"cpu"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"!arm"</span><span class="token punctuation">,</span> <span class="token string">"!mips"</span><span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="4"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"cpu"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"x64"</span><span class="token punctuation">,</span> <span class="token string">"ia32"</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"cpu"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"!arm"</span><span class="token punctuation">,</span> <span class="token string">"!mips"</span><span class="token punctuation">]</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>使用这个选项指定你的包将只能在某些 CPU 体系架构上运行,这会检查 <code>process.arch</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="private"><a aria-hidden="true" tabindex="-1" href="#private"><span class="icon icon-link"></span></a><code>private</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>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"private"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"private"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
||||
</span><span class="code-line"><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-->
|
||||
<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>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"registry"</span><span class="token operator">:</span> <span class="token string">"https://registry.npm.taobao.org"</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"publishConfig"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"registry"</span><span class="token operator">:</span> <span class="token string">"https://registry.npm.taobao.org"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>这是一组将在发布时使用的配置值。 如果要设置标记,注册表或访问权限,则特别方便,以便确保给定的包未标记为 <code>latest</code>,发布到全局公共 <code>registry</code> 或默认情况下,作用域模块(@scoped)是私有的。</p>
|
||||
<p>可以覆盖任何配置值,但只有 <code>tag</code>,<code>registry</code> 和 <code>access</code> 可能对于发布而言很重要,<a href="https://docs.npmjs.com/misc/config#config-settings">npm-config</a>。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="yarn"><a aria-hidden="true" tabindex="-1" href="#yarn"><span class="icon icon-link"></span></a>Yarn</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="flat"><a aria-hidden="true" tabindex="-1" href="#flat"><span class="icon icon-link"></span></a><code>flat</code></h3><div class="wrap-body">
|
||||
<p>如果你的包只允许给定依赖的一个版本,你想强制和命令行上 <a href="#">yarn install --flat</a> 相同的行为,把这个值设为 <code>true</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">"flat"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"flat"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
||||
</span><span class="code-line"><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-->
|
||||
<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>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token property">"transitive-package-2"</span><span class="token operator">:</span> <span class="token string">"file:./local-forks/transitive-package-2"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token property">"dependencies-package-1/transitive-package-3"</span><span class="token operator">:</span> <span class="token string">"^2.1.1"</span>
|
||||
</span><span class="code-line line-number" line="6"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="7"><span class="token punctuation">}</span>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token property">"resolutions"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <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>
|
||||
</span><span class="code-line"> <span class="token property">"transitive-package-2"</span><span class="token operator">:</span> <span class="token string">"file:./local-forks/transitive-package-2"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token property">"dependencies-package-1/transitive-package-3"</span><span class="token operator">:</span> <span class="token string">"^2.1.1"</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>允许您覆盖特定嵌套依赖项的版本。 有关完整规范,请参见<a href="https://github.com/yarnpkg/rfcs/blob/master/implemented/0000-selective-versions-resolutions.md">选择性版本解析 RFC</a>。</p>
|
||||
<p>注意,<code>yarn install --flat</code> 命令将会自动在 <code>package.json</code> 文件里加入 <code>resolutions</code> 字段。</p>
|
||||
|
Reference in New Issue
Block a user