今天分享一篇來自Phil Nash的文章,介紹了一些咱們在構件項目時的小技巧,文末可見原文地址前端
若是你對NodeJs系列感興趣,歡迎關注微信公衆號:前端神盾局node
通常狀況下我會使用npm
來初始化一個全新的Node項目git
npm init
複製代碼
npm
會循例問我幾個問題以後便會在本地生成一個package.json
文件。接下來我開始着手構建項目。github
首先我會從Github倉庫拷貝一份.gitignore
模版文件。以後(若是我還沒忘記的話)我一般會建立一個開源協議的文件。npm
顯然,這很沒有效率。json
這周我有幸看到Tierney Cyren的推文:bash
這四個命令將我從繁瑣的手動操做中解脫出來,讓項目有了一個好的開始:微信
npx license mit
經過license
包下載對應的協議npx gitignore node
使用gitignore
包自動的從Github倉庫中下載相關文件npx covgen
使用covgen
包生成一份貢獻者契約,這會讓你的項目更受貢獻者的歡迎。若是你以前從未使用過
npx
,請先嚐試在本地運行它,若是運行失敗,能夠經過npm
下載安裝。對於一個新項目來講,npx
是頗有用的,它能夠避免安裝一些只有在項目建立時纔會用到的全局依賴。編輯器
npm init -y
會接受npm init
過程當中的默認選項。爲確保npm init -y
的結果是符合預期,Tierney建議咱們先配置npm init
的默認項。函數
npm init
npm config list
能夠查看npm
已有配置。grep
管道能夠過濾出與npm init
有關的配置項。
npm config list | grep init
複製代碼
你能夠使用命令行或者npm config edit
調用編輯器來配置諸如做者的名稱、郵箱、url、開源協議以及項目版本這些默認選項。
npm set init.author.name "Your name"
npm set init.author.email "your@email.com"
npm set init.author.url "https://your-url.com"
npm set init.license "MIT"
npm set init.version "1.0.0"
複製代碼
一旦有了自定義的配置,npm init -y
就會按照你的預期初始化。
我對Tierney的建議作了點改進,下面是一段bash
腳本,靈感來源於Tierney的推文。
function node-project {
git init
npx license $(npm get init.license) -o "$(npm get init.author.name)" > LICENSE
npx gitignore node
npx covgen "$(npm get init.author.email)"
npm init -y
git add -A
git commit -m "Initial commit"
}
複製代碼
相較於Tierney的版本,這裏直接從npm init
的默認值中獲取做者名稱、email以及協議類型。同時添加了git
初始化的命令。
你能夠把這個函數存放在~/.bash_profile
文件中,經過source ~/.bash_profile
或者新建命令行窗口運行node-project
去啓動它。你能夠隨意的新增刪除腳本以適應你的項目需求。