前端开发系列079-Node篇之npm+
npm(node package manager) Node的包管理工具,我们可以利用该工具来搜索、下载、安装、卸载和升级包,在下载和安装Node的时候npm会捆绑在一起默认安装。
nrm(npm registry manager) Node的镜像源管理工具,如果访问国外的包速度太慢,那么可以考虑利用nrm来切换镜像源。
nvm(node version management) 是Mac下的用来管理不同版本node的工具,如果是管理 Windows系统,可以使用nvmw或nvm-windows。
npx 从5.2版开始,npm 增加了 npx,该工具主要用来执行包(二进制文件)。
npm init 交互创建package.json文件
npm init -y 默认创建package.json文件
npm --help 查看帮助信息
npm --version 查看版本信息,别名为-v
npm cache clean 清除缓存
npm cache verify 验证缓存
npm cache clean --force 强制清除缓存
npm search xx 搜索关键字相关的包
npm view xx 查看指定包最新版本的信息(版本、作者、地址等)
npm info xx 同上,别名view、v、info、和show
npm ls 列出本地(当前项目)安装的所有包
npm ls -g 列出全局安装的所有包
npm list -g --depth 0 列出全局安装的所有包 控制显示层级
npm i xx 安装指定的包(本地安装) i=== install
npm install xx 安装指定的包(本地安装-项目依赖) 默认--save === -S
npm install xx -g 安装指定的包(全局安装)
npm install xx --save-dev 安装指定的包(本地安装-开发依赖) --save-dev === -D
npm install xx -D 安装指定的包(本地安装-开发依赖)
npm uninstall xx 卸载指定的包,别名un, unlink, remove, rm, r
npm install 根据package.json文件来安装所有需要的包
npm config ls 查看配置信息 ls === list
npm config ls -l 查看所有的配置信息
npm config set xx 设置配置项 config === c
npm config set registry=https://registry.npm.taobao.org/ 切换镜像源为taobao镜像
npm config get registry 查看当前镜像源
npm config get home 查看当前主页(home)地址
npm update xx 更新指定的包
npm update 更新所有项目依赖包 等价于npm update --save
npm update --save-dev 更新所有生产依赖包
npm update -g 更新全局包
npm adduser 注册用户
npm publish 发布模块
npm root 查看本地项目中包的安装路径
npm root -g 查看全局包的安装路径
npm docs jquery 打开查看指定包的官网(官方文档)
npm run <command> 执行命令(参考package.json文件中scripts中的配置)
npm pack 打包
npm link 链接本地包
npm unlink 卸载本地包
env 查看环境变量
nrm --help 查看帮助信息
nrm ls 列出所有的镜像源
nrm current 列出当前使用的镜像源
nrm use xx 切换并使用某个特定的镜像源 等同于 npm config set registry=
nrm add wen http://wendingding.com 添加新的镜像源 wen是名称,后面跟的是URL路径
nrm del wen 删除指定镜像源
nrm test taobao 测试指定镜像源的速度
参考:NVM的GitHub官方仓库
参考:nvm-windows官方仓库
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
通过curl来安装nvm,安装完毕后会自动配置环境变量,通过下面的命令来查看.bash_profile文件,可以看到配置文件中已经新增加了环境变量的配置。
cd ~ 切换到根目录
open .bash_profile 打开配置文件
# 下面列出的是.bash_profile文件的拟任
# Add Visual Studio Code (code)
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
export PATH="/usr/local/opt/openssl/bin:$PATH"
export PATH=${PATH}:/usr/local/MongoDB/bin
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm ..
我们还需要通过下面的命令来更新配置过的环境变量,然后查看nvm的版本信息如果能够正确打印版本则安装成功。
source .bash_profile 更新环境变量
command -v nvm 如果打印nvm则说明安装成功
nvm --version 打印版本信息 0.33.6
nvm --help 查看帮助信息
nvm --version 查看版本信息
nvm install [-s] <version> 安装指定版本的包
nvm install node 安装最新的版本
nvm install --lts 安装最新的稳定版本
nvm uninstall <version> 卸载
nvm uninstall --lts 卸载最新的稳定版本
nvm ls 查看本地安装的Node版本
nvm ls-remote 列出可安装的所有远程版本
nvm use 版本号 切换Node版本
nvm current 查看当前版本
npx工具想要解决的主要问题是调用项目内部安装的模块。
一般情况下我们调用项目内部安装的模块,只能在项目脚本和package.json的scripts字段里面配置(通过npm run xxx的方式调用)。如果要通过命令行调用则会比较麻烦,我们可以做个对比:
$ npm install mocha --save-dev 安装开发依赖
# [1] 通过npm的方式来执行
$ cd node_modules/.bin/ 切换到本地项目.bin目录中
$ mocha --version 执行对应的模块
# [2] 通过配置package.json文件的script字段来执行
# 配置项:"mocha":"./node_modules/.bin/mocha --version"
$ npm run mocha
# [3] 通过npx的方式来执行
$ npx mocha --version 执行mocha模块
npx 不需要全局安装依赖包的情况下,直接运行命令来临时安装-使用-写在,整个操作一气呵成而且运行后不会污染全局环境。比如我们初始化一个项目的时候,npx create-react-app my-react-app指令,会将create-react-app下载到一个临时目录,使用以后再删除,每次运行这个命令,都会重新下载依赖包运行后删除。
如果我们需要检查某个文件的媒体类型(mime类型),可以通过mime这个包来实现。
$ npx mime index.js
npx: 1 安装成功,用时 1.994 秒
application/javascript
npx 在使用的时候感觉比较像npm run,但是更加灵活和方便,它的原理就是运行的时候会去node_modules/.bin路径检查npx后的命令是否存在,存在则执行,如果找不到,那么就继续去环境变量$PATH里面查找,存在则执行,如果还是找不到,那么就会自动下载依赖包的最新版本到临时目录,然后再运行命令,运行完之后把该包删除。
前端开发系列079-Node篇之npm+的更多相关文章
- openlayers5-webpack 入门开发系列一初探篇(附源码下载)
前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载 ...
- leaflet-webpack 入门开发系列一初探篇(附源码下载)
前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 w ...
- 【Windows10 IoT开发系列】配置篇
原文:[Windows10 IoT开发系列]配置篇 Windows10 For IoT是Windows 10家族的一个新星,其针对不同平台拥有不同的版本.而其最重要的一个版本是运行在Raspberry ...
- cesium-webpack 入门开发系列一初探篇(附源码下载)
前言 cesium-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 we ...
- 旨在脱离后端环境的前端开发套件 - IDT Server篇
IDT,一个基于Nodejs的,旨在脱离后端环境的前端开发套件,目的就是能让前端开发完全脱离后端的环境,无论后端是什么模板引擎(主流),都能应付自如. IDT主要包括两大部分:Server + Bui ...
- [置顶]【实用 .NET Core开发系列】- 导航篇
前言 此系列从出发点来看,是 上个系列的续篇, 上个系列因为后面工作的原因,后面几篇没有写完,后来.NET Core出来之后,注意力就转移到了.NET Core上,所以再也就没有继续下去,此是原因之一 ...
- 前端开发【第2篇:CSS】
鸡血 样式的属性多达几千个,但别担心,按照80-20原则,常用的也就几十个,你完全可以掌握它. Css初识 HTML的诞生 早期只有HTML的时候为了让HTML更美观一点,当时页面的开发者会把颜色写到 ...
- openlayers4 入门开发系列之风场图篇
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- openlayers4 入门开发系列之热力图篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- Android Metro风格的Launcher开发系列第三篇
前言: 各位小伙伴,又到了每周更新文章了时候了,本来是周日能发出来呢,这不是赶上清明节吗,女王大人发话了,清明节前两天半陪她玩,只留给我周一下午半天时间写博客,哪里有女王哪里就有压迫呀有木有!好了闲话 ...
随机推荐
- 使用 StreamJsonRpc 在 ASP.NET Core 中启用 JSON-RPC
StreamJsonRpc 是微软开发的一个开源库,用于在 .NET 平台中实现基于 JSON-RPC 2.0 规范 的远程过程调用(RPC).它通过流(如管道.网络流等)实现高效的跨进程或跨网络通信 ...
- 🔥Elasticsearch(ES)(版本7.x)数据更新后刷新策略RefreshPolicy
简介 在Elasticsearch 7.x版本中,当更新数据时(例如索引.更新或删除文档),这些更改并不会立即对搜索可见.为了让这些更改能够被搜索到,需要了解和选择合适的刷新策略(Refresh Po ...
- K8S 部署 Deepseek 要 3 天?别逗了!Ollama+GPU Operator 1 小时搞定
最近一年我都在依赖大模型辅助工作,比如 DeepSeek.豆包.Qwen等等.线上大模型确实方便,敲几个字就能生成文案.写代码.做表格,极大提高了效率.但对于企业来说:公司内部数据敏感.使用外部大模型 ...
- 解决 podman 容器无法在宿主机和容器内部相互访问问题的记录
解决 podman 容器无法在宿主机和容器内部相互访问问题的记录 近期在使用 podman 时,遇到了容器无法在宿主机和容器内部相互访问的问题.经过一番探索,参考了这篇文章,成功解决了该问题.在此,我 ...
- 代码随想录第二十四天 | Leecode 93. 复原IP地址 、78. 子集、 90.子集II
Leecode 93. 复原IP地址 题目描述 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔. 例如:"0.1.2 ...
- Codeforces Round 978 (Div. 2) A-D1 题解
A. Bus to Pénjamo 题意 有一辆车上面有 \(r\) 排座位,每排有 \(2\) 个座位,现在共 \(n\) 个家庭出行坐公交车,每个家庭 \(a_i\) 个人(保证 \(2r\ge ...
- CatBoost算法原理及Python实现
一.概述 CatBoost 是在传统GBDT基础上改进和优化的一种算法,由俄罗斯 Yandex 公司开发,于2017 年开源,在处理类别型特征和防止过拟合方面有独特优势. 在实际数据中,存在大 ...
- (NLP)关键词提取之——TF-IDF解析
关键词提取--TF-IDF 1 TF-IDF定义 概要 tf-idf(英语:term frequency–inverse document frequency)是一种用于信息检索与文本挖掘的常用加权技 ...
- 小程序简单 tab 切换实现
也是终于找到了数据可视化的最佳载体, 用小程序来做可视化简直完美. 尤其对于像我这种搞数据的, 数据分析, 数据报表, 可视化一直是一个巨大难题, 当我认识的最终的方案还是要用前端的时候, 感觉还有麻 ...
- SQL 强化练习 (七)
继续 sql 练习, 不能停下来的哦, 通过这一系列的搬砖操作, 相信在日常业务的sql 应该是能达到相对清楚地写出来的, 尤其是我做数据分析这块, 感觉真的每天都要写才行, 之前都是用 Python ...