13 个npm 快速开发技巧(推荐)

每天,数以百万计的开发人员使用 npm 或 yarn 来构建项目。运行npm init或npx create- response -app等命令几乎构建JS项目的首选方式,无论是为客户端或服务器端,还是桌面应用程序。

但是npm不仅仅是初始化项目或安装包。在本文中,我们将会介绍 npm 的13个技巧来最大限度地利用npm:从简单的快捷方式到自定义脚本。

由于我们中的许多人每天都使用npm,从长远来看,即使节省少量的时间也会产生显著的影响。这些技巧是针对初学者和中级开发人员的,但是即使您是一位经验丰富的开发人员,我希望你仍然能够找到一到两个你以前没有遇到过的特性。

想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!

主要内容

学习基本快捷方式

设置默认npm init属性

让脚本跨平台兼容

并行运行脚本

在不同的目录中运行脚本

延迟运行脚本直到端口准备就绪

列出并选择可用脚本

运行前后脚本

控制应用程序版本

从命令行编辑package.json

自动设置和打开你的github库

自定义npm init脚本

使用自定义npm init脚本将你的第一个 Commit 提交到 GitHub

1.学习基本快捷方式

我们从最基本的开始,学习最常见的npm快捷方式从长远来将会节省很多时间。

安装  —  常规:npm install,简写:npm i。

测试  —  常规:npm test,简写:npm t。

帮助  —  常规:npm --help,简写:npm -h。

全局标志 —  常规: --global,简写:-g。

保存为开发依赖 - 常规: - save-dev,简写:-D。

npm init 默认值 - 常规:npm init --yes 或 npm init --force,简写:npm init -y 或 npm init -f

我们知道使用-save或-S来保存包,但现在这是个已经是默认值。要安装一个包而不保存它,可以使用 ——no-save标志。

不太常见的快捷键

还有一些不常见的快捷方式,如下:

安装包信息将加入到optionalDependencies(可选阶段的依赖)- 常规:--save-optional, 简写:-O。
精确安装指定模块版本 - 常规:--save-optional, 简写:-O。
如果需要在本地保存一个npm包,或者通过单个文件下载选择一组可用的包,可以使用--save-bundle或-B将它们捆绑在一起,并使用npm pack获得捆绑包。

根的快捷方式

. 符号通常用于表示应用程序的根目录,npm术语中的应用程序入口点,即package.json中指定为“main”的值

{ "main": "index.js" }

这个快捷方式也可以用于像npx create-react-app . 这样的命令。因此,可以运行npx create-react-app .,而不是使用 npx create-react-app my-app 创建一个新的my-app目录。

2. 设置默认npm init属性

当运行npm init开始一个新项目时,你可能会发现自己一次又一次地输入配置细节。假如,你可能是项目的主要负责人。有时为了节省时间,可以为这些字段设置默认值,如下所示:

npm config set init.author.name "Joe Bloggs" npm config set init.author.email "JoebLoggs@gmail.com" npm config set init.author.url "Joebloggs.com" npm config set init.license "MIT"

要检查是否正确添加了这些属性,在终端输入 npm config edit查看配置文件信息。当然也j可以通过直接在打开的配置文件编辑信息。 如果要编辑全局npm设置,使用npm config edit -g。

要重新初始化默认设置,可以使用以下脚本。第一行用空字符串替换配置文件,第二行用默认设置重新填充配置文件。

echo "" > $(npm config get userconfig) npm config edit

上面的脚本将重置用户默认值,下面的脚本将重置全局默认值

echo "" > $(npm config get globalconfig) npm config --global edit

3. 让脚本跨平台兼容

任何在命令行上运行的代码都有兼容性问题的风险,特别是在Windows和基于unix的系统(包括Mac和Linux)之间。如果你只处理特定的项目,那么这不是问题,但是在许多情况下,跨平台兼容性很有必要的:任何开放源码或协作项目,以及示例和教程项目,都应该能够工作,而不管操作系统是什么。

谢天谢地,解决方案很简单。有几个选项可供选择,但效果最好的是cross-env。使用npm i -D cross-env将其作为开发依赖项安装。然后在任何环境变量之前包括关键字cross-env,就像这样:

{ "scripts": { "build": "cross-env NODE_ENV=production webpack --config build/wepack.config.js" } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/503e4a7de38623daee8e652a23b79584.html