[译][NodeJs系列]如何开始一个Node项目

今天分享一篇来自Phil Nash的文章,介绍了一些我们在构件项目时的小技巧,文末可见原文地址

如果你对NodeJs系列感兴趣,欢迎关注微信公众号:前端神盾局或 github NodeJs系列文章

创建一个Node项目

一般情况下我会使用npm来初始化一个全新的Node项目

npm init

npm会循例问我几个问题之后便会在本地生成一个package.json文件。接下来我开始着手构建项目。

首先我会从Github仓库拷贝一份.gitignore模版文件。之后(如果我还没忘记的话)我通常会创建一个开源协议的文件。

显然,这很没有效率。

这周我有幸看到Tierney Cyren的推文:

这四个命令将我从繁琐的手动操作中解脱出来,让项目有了一个好的开始:

  • 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 "[email protected]"
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去启动它。你可以随意的新增删除脚本以适应你的项目需求。

原文地址: https://philna.sh/blog/2019/01/10/how-to-start-a-node-js-project/

你可能感兴趣的:(node.js,前端,全栈工程师)