W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
創(chuàng)建 package.json 的文件
npm init [--force|-f|--yes|-y|--scope]
npm init <@scope> (same as `npx <@scope>/create`)
npm init [<@scope>/]<name> (same as `npx [<@scope>/]create-<name>`)
npm init <initializer>
?可用于設(shè)置新的或現(xiàn)有的 npm 包。
本例中的initializer
是一個名為create-<initializer>
的 npm 包,它將由npm exec
安裝,然后執(zhí)行其主bin
—— 大概是創(chuàng)建或更新package.json
并運行任何其他與初始化相關(guān)的操作。
初始化命令轉(zhuǎn)化為對應(yīng)的npm exec
操作如下:
npm init foo
?->?npm exec create-foo
npm init @usr/foo
?->?npm exec @usr/create-foo
npm init @usr
?->?npm exec @usr/create
如果省略初始值設(shè)定項(僅通過調(diào)用npm init
),初始值將回退到傳統(tǒng)的初始行為。它會問你一堆問題,然后為你寫一個package.json
。它將嘗試根據(jù)現(xiàn)有字段、依賴項和所選選項做出合理的猜測。它是嚴格相加的,因此它將保留已設(shè)置的任何字段和值。你也可以使用?-y
/--yes
完全跳過問卷。如果省略了--scope
,它將創(chuàng)建一個作用域包。
任何其他選項將直接傳遞給命令,因此npm init foo -- --hello
將映射到 npm exec --create-foo --hello
.
為了更好地說明選項將直接傳遞給命令,這里有一個更先進的示例,顯示了傳遞給npm cli和 create 包的選項,以下兩個命令是等效的:
npm init foo -y --registry=<url> -- --hello -a
npm exec -y --registry=<url> -- create-foo --hello -a
使用以下命令創(chuàng)建一個新的基于 React 的項目create-react-app
:
$ npm init react-app ./my-react-app
esm
使用create-esm
以下命令創(chuàng)建一個新的兼容包:
$ mkdir my-esm-lib && cd my-esm-lib
$ npm init esm --yes
使用傳統(tǒng)的初始命令生成一個普通的舊的package.json
:
$ mkdir my-npm-pkg && cd my-npm-pkg
$ git init
$ npm init
生成而不問任何問題:
$ npm init -y
可以使用workspace
config 選項在項目中創(chuàng)建新工作區(qū)?。使用npm init -w <dir>
cli 時,將創(chuàng)建預(yù)期的文件夾和樣板,同時還添加對項目package.json
?"workspaces": []
屬性的引用,以確保正確設(shè)置新生成的工作區(qū)。
給定一個沒有工作區(qū)的項目,例如:
.
+-- package.json
您可以使用舊的 init 生成一個新的工作區(qū):
$ npm init -w packages/a
這將生成一個新文件夾和package.json
文件,同時還會更新您的頂層package.json
以添加對這個新工作區(qū)的引用:
.
+-- package.json
`-- packages
`--a
`--package.json
工作空間 init 也支持該npm init <initializer> -w <dir>
?語法,遵循本頁初始描述部分中先前解釋的相同規(guī)則集?。與之前使用 創(chuàng)建基于 React 的新項目的示例類似create-react-app
,以下語法將確保將新的 React?應(yīng)用程序創(chuàng)建為項目中的嵌套工作區(qū),并配置你package.json
以識別它:
npm init -w packages/my-react-app react-app 。
這將確保按預(yù)期生成你的反應(yīng)應(yīng)用程序,要記住的一個重要考慮因素npm exec
是它將在該工作區(qū)新創(chuàng)建的文件夾的上下文中運行,這就是為什么在本示例中初始化程序使用初始值設(shè)定項名稱后跟一個點來表示該上下文中的當(dāng)前目錄,例如react-app .
::
.
+-- package.json
`-- packages
+-- a
| `--package.json
`-- my-react-app
+-- README
+-- package.json
`——……
null
null
或 Boolean
自動對 npm 可能在命令行上打印的任何提示回答yes
。
false
Boolean
刪除各種針對不幸副作用、常見錯誤、不必要的性能下降和惡意輸入的保護措施。
npm version
命令在不干凈的 git 存儲庫上工作。npm cache clean
。engines
聲明要求不同版本的 npm 的包。engines
聲明要求不同版本 的包node
,即使--engine-strict
已啟用。npm audit fix
在你聲明的依賴范圍之外安裝模塊(包括 SemVer 主要更改)。--yes
。npm pkg
中的現(xiàn)有值。如果你還不清楚自己要做什么,強烈建議你不要使用此選項!
String
(可多次設(shè)置)
允許在當(dāng)前項目的已配置工作區(qū)的上下文中運行命令,同時通過僅運行此配置選項定義的工作區(qū)進行過濾。
workspace
配置的有效值為:
為npm init
命令設(shè)置時,可以將其設(shè)置為尚不存在的工作區(qū)的文件夾,以創(chuàng)建該文件夾并將其設(shè)置為項目中的全新工作區(qū)。
此值不會導(dǎo)出到子進程的環(huán)境中。
false
Boolean
啟用在所有已配置工作區(qū)的上下文中運行命令。
此值不會導(dǎo)出到子進程的環(huán)境中。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: