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

栏目: Node.js · 发布时间: 5年前

内容简介:今天分享一篇来自Phil Nash的文章,介绍了一些我们在构件项目时的小技巧,文末可见原文地址如果你对NodeJs系列感兴趣,欢迎关注微信公众号:一般情况下我会使用

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

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

创建一个Node项目

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

npm init

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

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

显然,这很没有效率。

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

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

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

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

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

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


以上所述就是小编给大家介绍的《[译][NodeJs系列]如何开始一个Node项目》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Understanding Machine Learning

Understanding Machine Learning

Shai Shalev-Shwartz、Shai Ben-David / Cambridge University Press / 2014 / USD 48.51

Machine learning is one of the fastest growing areas of computer science, with far-reaching applications. The aim of this textbook is to introduce machine learning, and the algorithmic paradigms it of......一起来看看 《Understanding Machine Learning》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具