NPM简介-程序员宅基地

技术标签: Web-技术篇  简介  Node  NPM  

是什么?

NPM的全称是Node Package Manager,从名字上可以看出他是Node.js的一个包管理工具,它是随Node一起安装的。

能做什么?

  1. 从NPM服务器下载别人写好的包或命令行程序到本地直接使用。
  2. 将自己写好的包或命令行程序上传到NPM服务器供别人使用。

怎么用?

1、安装更新

npm不需要特意安装,在安装Node的时候,会连带一起安装,但是有可能安装的时候npm不是最新版本,我们需要升级一下。

升级到最新版本
sudo npm install npm@latest -g

Windows下升级版本:
npm install npm -g

查看当前版本:
npm -v

2、使用npm命令安装依赖模块

npm install <Module Name>

安装好后,功能模块就放在mode_modules目录中,因此在代码中只需要通过require(‘Module Name’)的方式就可以引用。

var mModule = require('Module Name');

3、全局安装与本地安装

npm 的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已

本地安装

  • 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
  • 可以通过 require() 来引入本地安装的包。

全局安装

  • 将安装包放到电脑上,一般会放到 /usr/local 下或者你 node 的安装目录。
  • 可以直接在命令行使用。

4、卸载模块

卸载express功能模块包
npm uninstall express

查看是否还存在与node_modules目录下
npm ls

5、更新模块

npm update express

6、搜索模块

npm search express

7、创建模块

创建模块
npm init

注册用户:
npm adduser
输入用户名
输入密码
输入邮箱

发布模块:
npm publish

8、查看帮助信息

所有命令
npm help

命令简单用法
npm -l

查看配置
npm config list -l

9、package.json

package.json 位于模块的目录下,用于定义包的属性。

属性说明:

  • name - 包名。
  • version - 包的版本号。
  • description - 包的描述。
  • homepage - 包的官网 url 。
  • author - 包的作者姓名。
  • contributors - 包的其他贡献者姓名。
  • dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
  • repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
  • main - main 字段指定了程序的主入口文件,require(‘moduleName’) 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js
  • keywords - 关键字

10、使用淘宝NPM镜像

现在国内的情况,直接使用官方的镜像是非常慢的,用淘宝的镜像会快很多。

配置淘宝镜像命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org

用淘宝镜像安装模块:
cnpm install <Module Name>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/haha223545/article/details/90033031

智能推荐

懒人版js处理后端二进制流,并通过blob下载对应格式的文件_后端二进制文件流 下载-程序员宅基地

文章浏览阅读1k次。需要注意的是如果要从后端获取文件名,需要res.headers["content-disposition"]去获取并处理,前提是先检查前端axios请求拦截器是否进行了相应的拦截处理并且后端header头部加上。题外话:如果通过a标签和location.href直接访问请求链接(?xx=可带参),浏览器会直接下载对应的文件,但无法处理节流问题,所以需要异步请求来实现需求。补充:如果遇到跨域问题,如有reset(),请在reset之后添加以下Header。_后端二进制文件流 下载

Java游戏服务器开发之十四--在handler和dao层中添加service层_handler.newuserservice-程序员宅基地

文章浏览阅读8.3k次。 Java游戏服务器开发之十四--在handler和dao层中添加service层现在我们的写法是将dao注入到handler中,如果遇到要写业务逻辑的话,其实不是太方便,所以我们在handler和dao层中添加service层这样dao的所有接口都只暴露给service,整个的数据流向就是handler--service--dao主要变化是:添加 UserService/UserSe..._handler.newuserservice

使用Docker来安装Home-Assistant-程序员宅基地

文章浏览阅读7.7w次,点赞7次,收藏56次。使用Docker来安装Home-Assistant前提:目的明确,了解Home-Assistant是什么东西你的机子已经安装了 Docker该教程只是作者的操作记录,希望能帮到你。查找镜像docker search home-assistant可以看到上图中被圈起来且排在第一的 homeassistant/home-assistants 它的星标最多,虽然写着不是官方的,但是...

python中、if语句的下一句一定要缩进吗_【python公开课|Python if else对缩进的要求是什么,想做好python,就一定要看这个文章】- 环球网校...-程序员宅基地

文章浏览阅读1.3k次。【摘要】在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注python的问题,今天环球网校的小编就来和大家讲讲Python if else对缩进的要求。Python 是以缩进来标记代码块的,代码块一定要有缩进,没有缩进的不是代码块。另外,同一个代码块的缩进量要相..._在python中if语句的下一句一定要缩进

LLVM实战之交叉编译_llvm交叉编译-程序员宅基地

文章浏览阅读389次,点赞7次,收藏4次。所谓交叉编译指的是能够在一个平台(例如x86)编译并构建二进制文件,而在另一个平台(例如ARM)运行。编译二进制文件的机器称为主机(host),而运行生成的二进制文件的平台称为目标平台(target)。为相同平台(主机与目标机器相同)编译代码称为本机编译(native assembler),而当主机与目标机器为不同平台时编译代码称为交叉编译(cross-compiler)。本文会讲述LLVM交叉编译的技术,可以为主机平台不同的平台编译LLVM,因此能够在所需要的特定目标平台使用构建的二进制文件。_llvm交叉编译

毕业设计-基于深度学习的时间序列预测方法-程序员宅基地

文章浏览阅读1.6k次。毕业设计-基于深度学习的时间序列预测方法:时间序列是一种广泛存在于现实各领域之中的海量高维数据, 时间序列预测是该领域的一个研究重点. 传统的时间序列预测方法仅仅从时间的维度对时间序列进行分析,忽略了外界影响因素对时间序列可能产生的影响. 针对传统时间序列预测方法存在的问题, 提出一种基于深度学习的时间序列预测模型 DAFDC-RNN (dual-stage attention and full dimension convolution based recurrent neural network).为_深度学习的时间序列预测方法

随便推点

python连接mt4服务器_如何从MetaTrader 4/5终端向外部服务器发送数据?-程序员宅基地

文章浏览阅读1k次。这是为了(也许)成为MetaTrader 4/5及其相应语言MQL4的指导性文章,它们都设置为上下文,并将数据发送到外部服务器。在在我的特殊情况下,我正在构建一个基于Django/Python的web应用程序,它将处理外汇交易数据以供进一步使用。在因此,我正在寻找一个合适的解决方案,将数据从MetaTrader 4/5终端定期(例如每60秒)发送到外部服务器,格式为json或{}(如果可能的话)。..._mql4 webrequest

Python内置函数enumerate和Numpy中的np.ndenumerate()、np.nindex()-程序员宅基地

文章浏览阅读4.1k次,点赞9次,收藏21次。enumerate(sequence, [start = 0])python内置的enumerate函数将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。sequence: 序列、迭代器或者其他支持迭代的对象start: 下标起始位置for循环和enumerate结合使用>>>seq = ['one', 'two', 'three']>>> for i, element in enumer_np.ndenumerate

id门禁卡复制到手机_门禁卡复制到苹果手机-程序员宅基地

文章浏览阅读2.2k次。NFC手机一枚Root ExplorerNFC Taginfo方法/步骤1,读取卡的ID。安装“NFC TagInfo”,打开手机的NFC设置,门禁卡贴到手机后盖NFC部分,“NFC TagInfo”读取校园卡ID。可以看到我的卡ID是13:67:A9:0A修改手机NFC的ID。打开R.E.管理器,根目录-->etc,找到etc文件夹中的“libnfc-nxp.conf”(如果没找到,就全盘..._门禁文件如何导入手机

Windows操作系统通过ipmitool获取IBMC的IP、用户名和密码方法_带内获取bmc用户名密码-程序员宅基地

文章浏览阅读90次。Windows操作系统相比Linux操作系统,必须要先安装了ipmitool驱动的情况下才能不带IBMC的IP、用户名和密码的情况下执行ipmitool的相关命令,所以Windows操作系统在忘记IBMC的用户名、密码或者IP的情况下必须先安装ipmitool驱动包。3) 查看BMC用户信息,使用命令“ipmitool user list 1”或者"ipmitool user list 0xe"(仅支持1和0xe通道)2) 查看BMC配置信息,使用命令“ipmitool lan print”。_带内获取bmc用户名密码

Java单元测试与JUnit4使用,2024年最新软件测试工程师面试题及答案-程序员宅基地

文章浏览阅读607次,点赞22次,收藏5次。备注软件测试)**[外链图片转存中…(img-wlLhHX93-1712680136534)]

Unity 动画曲线-AnimationCurve 实例_unity animation中如何曲线移动-程序员宅基地

文章浏览阅读2.5w次,点赞6次,收藏43次。Unity 动画曲线-AnimationCurve 实例以Unity 自带的动画曲线实现一些简单的动画,如往复运动,曲线运动,不规则运动,掉血飘字等。下面先上代码using UnityEngine;using System.Collections;public class BloodAnimation : MonoBehaviour { private RectTransform rectT_unity animation中如何曲线移动