小tips:你不知道的 npm init


前言

在現代新建一個 JS 相關的項目往往都是從 package.json 文件開始的,不過這個文件里需要的字段實在是太多了,正常人都記不住,所以 npm 官方提供了 npm init 命令幫助我們快速初始化 package.json 文件。執行之后會有一個交互式的命令行讓你輸入需要的字段值,當然如果你想直接使用默認值,也可以使用 npm init -y 來超速初始化。

npx

隨着技術的快速發展,發現初始化 package.json 已經無法滿足大家的需求了,越來越多的項目需要進行整個項目的初始化。腳手架工具應運而生,除了有通用的腳手架工具 yeoman, sao 之外,很多項目也會開發針對自己項目的腳手架工具,例如 vue-cli, create-react-app 以及專門用來初始化 ThinkJS 項目的腳手架工具 think-cli等。運行這些工具需要先使用 npm install -g 全局安裝這些模塊之后才能正常運行。每次都執行這兩部操作那其實是有點麻煩的,所以 npm@5.2.0 提供了 npx命令將安裝運行兩個步驟合二為一,直接執行 npx think-cli 會先安裝 think-cli 模塊然后執行 think-cli 命令,最終完成腳手架的啟動。

npm init <initializer>

可能 npm 的維護者們都比較懶吧,他們發現這么執行還挺累的,所以在 npm@6.1.0 里增加了 npm init <initializer> 這種操作,簡單來說就是你執行 npm init thinkjs 的話 npm 會補全模塊名為 create-thinkjs 並執行 npx create-thinkjs

npm init thinkjs

# same as
npx create-thinkjs

npm initnpx 的執行基本是一致的,他們相對於直接執行全局命令來說比較大的優勢就是能保證命令模塊是最新版的,畢竟如果還要執行 npm update -g 的話又多了一部操作。

參考資料:《Create a project using the npm init initializer command》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM