生成 package.json

我们通常执行 npm init,然后开始添加 npm 请求的信息。 但是,如果我们不关心所有这些信息,并且希望保留默认值,那么对于 npm 请求的每一条数据,我们都按 enter 键。为了避免这种情况,你可以输入 npm init -y。这样就可以跳过问题询问了。

注:你也可以使用 npm init --yes 作用是一样的。

安装模块

你可以使用更加简单的 npm i 来代替 npm install

一次安装多个模块

你不需要为每个模块键入一个 npm install 命令,例如:

bash 代码:
    npm i gulp-pug
npm i gulp-debug
npm i gulp-sass

你可以只运行一个命令,一次性安装所有这些模块:

bash 代码:
npm i gulp-pug gulp-debug gulp-sass

还有更加简单的方法,如果所有名称都以相同的前缀开头,你不需要键入整个名称:

bash 代码:
npm i gulp{-debug,-sass,-pug}

使用 install flags(安装参数) 的快捷方式

如果要安装软件包并将其另存为生产依赖项,则通常会这样做

bash 代码:
npm i gulp --save-prod

你可以使用 -P 快捷方式,像这样:

bash 代码:
npm i gulp -P

对于开发依赖项也是一样,不需要键入完整的 --save-dev 标志,你可以使用 -D 快捷方式,像这样:

bash 代码:
npm i gulp -D

默认情况下,当你运行不带任何 flags(参数) 的 npm install 时,npm 会将包作为依赖项添加到 package.json 文件中。 如果要防止这种情况,请使用 --no-save flags(参数) 安装,如下所示:

bash 代码:
npm i gulp --no-save

获取包信息

下面的命令将显示 vue 包的相关信息:

npm view vue 或 npm v vue

如果你只想获得最新版本的软件包,可以试试下面这个命令:

bash 代码:
    > npm v vue version
> 2.5.17

如果你想获得 npm 包完整的版本列表,请尝试复数形式

bash 代码:
    > npm v vue versions
> [ '0.0.0',
'0.6.0',
'0.7.0',
...
'2.5.15',
'2.5.16',
'2.5.17-beta.0',
'2.5.17' ]

安装特定版本的软件包

如果要安装版本,而不是最新版本的软件包,可以键入:

bash 代码:
npm i vue@2.5.15

鉴于记忆名称比数字更容易(至少对我来说),你可以使用 dist-tag 列表中名称,运行 npm v 命令即可得到该列表 ,如下所示:

bash 代码:
npm i vue@beta

搜索 package(包)

有时你可能记不住你前一段时间或你朋友推荐的某个 package(包) 的确切名称。 在这种情况下,你可以使用 npm 搜索,直接在终端中执行搜索:

bash 代码:
npm search gulp debug

或者

bash 代码:
npm s gulp debug

这将打印包含描述,作者和一些其他信息的包列表:

卸载 package(包)

如果你不想打开 package.json 文件并从那里手动删除依赖项,则可以使用以下命令将其删除:

bash 代码:
npm uninstall vue

这将从 node_modules 文件夹和 package.json 文件中删除该包。 当然,你可以使用 rm , un 或 r 来实现相同的效果,例如:

bash 代码:
npm rm vue

如果由于某种原因你只想从 node_modules 文件夹中删除包文件,但仍然将其作为依赖项保存在 package.json 文件中,则可以使用 --no-save 参数:

bash 代码:
npm rm vue --no-save

列出依赖项

如果要查看项目依赖项列表,可以使用

bash 代码:
npm ls

这将列出 package.json 文件中所有的依赖项以及它们的所有依赖项。 如果你只想列出你的依赖项,你可以这样做

bash 代码:
npm ls --depth=0

这将打印出这样的东西:

bash 代码:
    ├── jquery@3.3.1
├── vue@2.5.17
└── yarn@1.12.3

当然,如果要查看所有全局安装的包的列表,可以使用 -g 标志

bash 代码:
npm ls -g -depth 0

运行测试

你可以使用 npm run tests 运行测试,但你可以用 npm test 甚至更简短的 npm t 代替。

显示可用的 script

有时,我们希望查看 package.json 文件中包含的脚本。 我们当然可以打开 package.json 文件,但我们也可以这样做:

bash 代码:
npm run

如果在 package.json 文件中有这样的配置,如下所示:

bash 代码:
    "scripts": {
"test": "jest",
"build": "gulp build"
}

那么 npm run 命令将显示以下内容:

bash 代码:
    Lifecycle scripts included in npm:
test
jest
available via `npm run-script`:
build
gulp-build

从 Github 仓库安装 package(包)

你可以直接从 Github 仓库安装一个包:

bash 代码:
npm i https://github.com/sindresorhus/gulp-debug

或者你可以省略域名部分

bash 代码:
npm i sindresorhus/gulp-debug

打开包的 Github 页面

你当然可以通过 Google 搜索,然后查找该页面,或者你可以执行以下操作:

bash 代码:
npm repo create-react-app

无需安装软件包即可执行上述命令。

列出所有可用的 NPM 环境变量

你可以通过运行以下命令来查看可供我们使用的 NPM 变量的完整列表:

bash 代码:
npm run env | grep npm_

上面的命令将打印如下内容:

bash 代码:
npm_config_fetch_retry_maxtimeout=60000
npm_config_tag_version_prefix=v
npm_config_strict_ssl=true
npm_config_sso_type=oauth

这些变量的好处是它们可以在你的脚本中使用,你甚至可以创建自己的 NPM 环境变量,让我们看看如何创建。

添加自己的 NPM 变量

你可以通过向 package.json 文件添加自己的 NPM 变量。 它可以是任何 key,但我更喜欢将所有 NPM 变量放在 config key 中,以保持结构有序。 像这样:

bash 代码:
    "config": {

    "build_folder":"./dist"

    }

现在,如果你使用前面讨论的命令 npm run env | grep npm_ 列出你的变量,你会看到你的新变量在那里:

bash 代码:
npm_package_config_build_folder=./dist
npm_config_fetch_retry_maxtimeout=60000
npm_config_tag_version_prefix=v
npm_config_strict_ssl=true
npm_config_sso_type=oauth

默认情况下,npm 会将你的变量命名以 npm_package 为前缀,并保持其在 package.json文件中的结构,即 config_build_folder 。

在 NPM script 中使用 NPM 变量

一旦你看到了完整的变量列表,并且你希望在 script 中使用这些变量中的任何一个的值,那么你就可以在 package.json 中执行此操作(请参阅上一节中变量 npm_package_config_build_folder 的值)

bash 代码:
    "scripts": {
"build": "gulp build --dist $npm_package_config_build_folder"
}

一旦你用 npm run build 运行这个命令,它将被执行为

bash 代码:
gulp build --dist ./dist

npm 一些有用的提示和技巧的更多相关文章

  1. Web 开发中 9 个有用的提示和技巧

    在本文中,我们给出 9 个有用的 HTML.CSS 和 JavaScript 的技巧和提示,可能在做 Web 开发中经常会需要用到的,其中有几个是关于 HTML5 和 CSS3 的,如果你是一个前端开 ...

  2. 开发中可能会用到的几个 jQuery 小提示和技巧

    今天,我们将分享一些很有用的技巧和窍门给 jQuery 开发人员.jQuery 是最好的 JavaScript 库之一,用于简化动画,事件处理,支持 Ajax 和 HTML 的客户端脚本.网络中有大量 ...

  3. 25个增强iOS应用程序性能的提示和技巧(高级篇)(2)

    25个增强iOS应用程序性能的提示和技巧(高级篇)(2) 2013-04-16 14:56 破船之家 beyondvincent 字号:T | T 在开发iOS应用程序时,让程序具有良好的性能是非常关 ...

  4. 25个增强iOS应用程序性能的提示和技巧(中级篇)(3)

    25个增强iOS应用程序性能的提示和技巧(中级篇)(3) 2013-04-16 14:42 破船之家 beyondvincent 字号:T | T 本文收集了25个关于可以提升程序性能的提示和技巧,分 ...

  5. 25个增强iOS应用程序性能的提示和技巧--中级篇

    25个增强iOS应用程序性能的提示和技巧--中级篇 标签: ios性能优化内存管理 2013-12-13 10:55 738人阅读 评论(0) 收藏 举报  分类: IPhone开发高级系列(34)  ...

  6. 25个增强iOS应用程序性能的提示和技巧(初级篇)

    25个增强iOS应用程序性能的提示和技巧(初级篇) 标签: ios内存管理性能优化 2013-12-13 10:53 916人阅读 评论(0) 收藏 举报  分类: IPhone开发高级系列(34)  ...

  7. 增强iOS应用程序性能的提示和技巧(25个)

    转自 http://www.cocoachina.com/newbie/basic/2013/0522/6259.html 在开发iOS应用程序时,让程序具有良好的性能是非常关键的.这也是用户所期望的 ...

  8. (转)25个增强iOS应用程序性能的提示和技巧--初级篇

    在开发iOS应用程序时,让程序具有良好的性能是非常关键的.这也是用户所期望的,如果你的程序运行迟钝或缓慢,会招致用户的差评.然而由于iOS设备的局限性,有时候要想获得良好的性能,是很困难的.在开发过程 ...

  9. 几个 jQuery 小提示和技巧

    几个 jQuery 小提示和技巧 今天,我们将分享一些很有用的技巧和窍门给 jQuery 开发人员.jQuery 是最好的 JavaScript 库之一,用于简化动画,事件处理,支持 Ajax 和 H ...

随机推荐

  1. 十年后,我又开始研究SEO了

    2009年的时候,我就小打小闹式地要创业了,其实就是和同学在北京阜成门开了一家特产店.但我们的想法不止在这个店,有更大的目标,目前也不便在这里展开了.反正当时我就注意到了SEO,即搜索引擎优化.通俗地 ...

  2. Spring Framework 条件装配 之 @Conditional

    Spring Framework 条件装配 之 @Conditional 前言 了解SpringBoot的小伙伴对Conditional注解一定不会陌生,在SpringBoot项目中,Conditio ...

  3. 基于SpringBoot从零构建博客网站 - 设计可扩展上传模块和开发修改头像密码功能

    上传模块在web开发中是很常见的功能也是很重要的功能,在web应用中需要上传的可以是图片.pdf.压缩包等其它类型的文件,同时对于图片可能需要回显,对于其它文件要能够支持下载等.在守望博客系统中对于上 ...

  4. php接口数据安全解决方案(二)

    前言 实例演示token签名并创建token 解析token并校验token合法性 类库封装管理jwt实例 前言 JWT是什么 JWT是json web token缩写.它将用户信息加密到token里 ...

  5. Skyline WEB端开发5——添加标签后移动

    针对于标签或者模型,在skyline上可以进行移动.可以让一个模型可以像无人机似的飞行,或者描述从一个点到另一个点的飞行轨迹. 话不多说,直接上干货. 第一步 添加标签 参考网址:https://ww ...

  6. 20140115-URL编码与解码

    UrlEncode()方法,有两个类都有这个方法即HttpUtility.UrlEncode和Server.UrlEncode 区别: 1.HttpUtility.UrlEncode,HttpUtil ...

  7. [记录]HAproxy负载均衡配置教程

    HAproxy负载均衡配置教程 一.简介 haproxy是一个开源的高性能负载均衡软件:支持双机热备.虚拟主机和图形化的管理界面,自带强大的对RS健康检查功能:支持TCP(四层).HTTP(七层)应用 ...

  8. 嵌入式Linux开发环境搭建,问题ping、nfs的解决

    一. 嵌入式软件层次 1) Bootloader->引导加载程序 整个嵌入式系统的加载启动任务完全交给Bootloader完成,它的主要任务是将内核映象从硬盘读到RAM中,然后跳转到内核入口启动 ...

  9. ASP.NET Core[源码分析篇] - Startup

    应用启动的重要类 - Startup 在ASP.NET Core - 从Program和Startup开始这篇文章里面,我们知道了Startup这个类的重要性,它主要负责了: 配置应用需要的服务(服务 ...

  10. Excel催化剂开源第23波-VSTO开发辅助录入功能关键技术

    Excel催化剂开源第23波-VSTO开发辅助录入功能关键技术 Excel催化剂   2019.01.12 14:10* 字数 2948 阅读 41评论 0喜欢 0 编辑文章 在Excel催化剂的几大 ...