npm5.2+支援npx
npm本身實際上不能執行任何包,如果你想去執行某個包,必須在package.json檔案中去定義。
當通過npm安裝node包,npm會在node_modules下的.bin裡建立乙個軟連線。
本地安裝鏈結會放到./node_modules/.bin目錄
安裝到特定專案下的node包,執行:
npm install some-package
現在如果像下面這樣去執行some-package會失敗的。只有全域性安裝的包才可以只用包名去執行。
$ some-package
為了解決這個問題,必須像下面這樣,將本地包的相對專案的路徑填寫全。
$ ./node_modules/.bin/some-package
當然如果你非要通過命令去執行的話,也不是不可以的。通過編輯package.json檔案,將以下指令碼新增到script屬性下
"name": "whatever",
"version": "1.0.0",
"scripts": {
"some-package": "some-package"
然後通過npm run ** 呼叫。
npm run some-package
npx會檢查命令()是否出現在$path,或本地專案中,然後去執行。
所以,對於上面的例子,如果想通過在本地執行,可以通過npx some-package執行。
npx some-package
npx另乙個重要的優勢是,可以執行未安裝的包的命令,例如:
你可以分清楚npx和npm嗎?
學習react時,都會普遍感到困惑,大家常常看見的是npx 而非眾所周知的npm 眾所周知,npm是node.js的軟體包管理器,其目標是自動化的依賴性和軟體包管理。這意味著,可以在package.json檔案中為專案指定所有依賴項 軟體包 當需要為其安裝依賴項時,只要執行npm install,這...
npm中 S D的區別
在開發的時候我們會用到npm來安裝各種各樣的依賴包,這些包有的是用來輔助我們開發的,有的則是在上線時也需要用到的,那安裝包的時候到底是該用 s 還是用 d 呢,這裡來解釋一下 使用webpack的時候總會用npm init生成乙個package.json檔案,這個檔案裡面有 dependencies...
npm和yarn的區別,我們該如何選擇
周一入職,同事jj讓我熟悉一下基於react的新專案。按照以往,我的步驟都是 git clone npm install npm run dev 這時,jj給我來了下面一段 git clone yarn yarn start 咦,yarn是什麼鬼?難道npm更高階的替代品?為什麼要替代npm?難道有...