内容简介:小编推荐:
小编推荐: 掘金是一个面向 程序员 的高质量技术社区,从 一线大厂经验分享到前端开发最佳实践,无论是入门还是进阶,来掘金你不会错过前端开发的任何一个技术干货。
如果您在日常工作流程中使用 NPM ,我相信您会喜欢这些提示和技巧。
生成 package.json
我们通常执行 npm init
,然后开始添加 npm 请求的信息。 但是,如果我们不关心所有这些信息,并且希望保留默认值,那么对于 npm 请求的每一条数据,我们都按 enter 键。为了避免这种情况,你可以输入 npm init -y
。这样就可以跳过问题询问了。
愚人码头注:你也可以使用 npm init --yes
作用是一样的。
安装模块
你可以使用更加简单的 npm i
来代替 npm install
。
一次安装多个模块
你不需要为每个模块键入一个 npm install
命令,例如:
npm i gulp-pug npm i gulp-debug npm i gulp-sass
你可以只运行一个命令,一次性安装所有这些模块:
npm i gulp-pug gulp-debug gulp-sass
还有更加简单的方法,如果所有名称都以相同的前缀开头,你不需要键入整个名称:
npm i gulp{-debug,-sass,-pug}
使用 install flags(安装参数) 的快捷方式
如果要安装软件包并将其另存为生产依赖项,则通常会这样做
npm i gulp --save-prod
您可以使用 -P
快捷方式,像这样:
npm i gulp -P
对于开发依赖项也是一样,不需要键入完整的 --save-dev
标志,您可以使用 -D
快捷方式,像这样:
npm i gulp -D
默认情况下,当你运行不带任何 flags(参数) 的 npm install
时,npm 会将包作为依赖项添加到 package.json
文件中。 如果要防止这种情况,请使用 --no-save
flags(参数) 安装,如下所示:
npm i gulp --no-save
获取包信息
下面的命令将显示 vue 包的相关信息:
npm view vue
或 npm v vue
如果您只想获得最新版本的软件包,可以试试下面这个命令:
> npm v vue version > 2.5.17
如果您想获得 npm 包完整的版本列表,请尝试复数形式
> 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' ]
安装特定版本的软件包
如果要安装版本,而不是最新版本的软件包,可以键入:
npm i vue@2.5.15
鉴于记忆名称比数字更容易(至少对我来说),你可以使用 dist-tag 列表中名称,运行 npm v
命令即可得到该列表 ,如下所示:
npm i vue@beta
搜索 package(包)
有时你可能记不住你前一段时间或你朋友推荐的某个 package(包) 的确切名称。 在这种情况下,您可以使用 npm 搜索,直接在终端中执行搜索:
npm search gulp debug
或者
npm s gulp debug
这将打印包含描述,作者和一些其他信息的包列表:
卸载 package(包)
如果您不想打开 package.json 文件并从那里手动删除依赖项,则可以使用以下命令将其删除:
npm uninstall vue
这将从 node_modules
文件夹和 package.json
文件中删除该包。 当然,您可以使用 rm
, un
或 r
来实现相同的效果,例如:
npm rm vue
如果由于某种原因您只想从 node_modules
文件夹中删除包文件,但仍然将其作为依赖项保存在 package.json
文件中,则可以使用 --no-save
参数:
npm rm vue --no-save
列出依赖项
如果要查看项目依赖项列表,可以使用
npm ls
这将列出 package.json
文件中所有的依赖项以及它们的所有依赖项。 如果您只想列出您的依赖项,您可以这样做
npm ls --depth=0
这将打印出这样的东西:
├── jquery@3.3.1 ├── vue@2.5.17 └── yarn@1.12.3
当然,如果要查看所有全局安装的包的列表,可以使用 -g
标志
npm ls -g -depth 0
运行测试
您可以使用 npm run tests
运行测试,但你可以用 npm test
甚至更简短的 npm t
代替。
显示可用的 script
有时,我们希望查看 package.json
文件中包含的脚本。 我们当然可以打开 package.json
文件,但我们也可以这样做:
npm run
如果在 package.json
文件中有这样的配置,如下所示:
"scripts": { "test": "jest", "build": "gulp build" }
那么 npm run
命令将显示以下内容:
Lifecycle scripts included in npm: test jest available via `npm run-script`: build gulp-build
从 Github 仓库安装 package(包)
你可以直接从 Github 仓库安装一个包:
npm i https://github.com/sindresorhus/gulp-debug
或者您可以省略域名部分
npm i sindresorhus/gulp-debug
打开包的 Github 页面
您当然可以通过 Google 搜索,然后查找该页面,或者您可以执行以下操作:
npm repo create-react-app
无需安装软件包即可执行上述命令。
列出所有可用的 NPM 环境变量
您可以通过运行以下命令来查看可供我们使用的 NPM 变量的完整列表:
npm run env | grep npm_
上面的命令将打印如下内容:
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 中,以保持结构有序。 像这样:
"config": { "build_folder":"./dist" }
现在,如果您使用前面讨论的命令 npm run env | grep npm_
列出您的变量,你会看到你的新变量在那里:
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
的值)
"scripts": { "build": "gulp build --dist $npm_package_config_build_folder" }
一旦你用 npm run build
运行这个命令,它将被执行为
gulp build --dist ./dist
在我的日常工作流程中,这些是我最喜欢的快捷方式和命令,有没有你喜欢的快捷方式或命令没列在这篇文章中,欢迎留言告诉我。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- ECMAScript 2015(ES6)有用的提示与技巧
- 看的书多,就有用吗?
- 如何绘制有用的技术架构图
- Laravel10个有用的用法
- [译] 50+ 有用的 DevOps 工具(二)
- [译] 50+ 有用的 DevOps 工具(三)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
多任务下的数据结构与算法
周伟明 / 华中科技 / 2006-4 / 58.00元
本书和传统同类书籍的区别是除了介绍基本的数据结构容器如栈、队列、链表、树、二叉树、红黑树、AVL树和图之外,引进了多任务;还介绍了将任意数据结构容器变成支持多任务的方法;另外,还增加了复合数据结构和动态数据结构等新内容的介绍。在复合数据结构中不仅介绍了哈希链表、哈希红黑树、哈希AVL树等容器,还介绍了复合数据结构的通用设计方法;在动态数据结构中主要介绍了动态环形队列、动态等尺寸内存管理算法。在内存......一起来看看 《多任务下的数据结构与算法》 这本书的介绍吧!