今天分享一篇来自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
去启动它。你能够随意的新增删除脚本以适应你的项目需求。