npm包全局安装和局部安装理解

这篇其实是对于npm全局安装和局部安装一文的笔记,加了一些我自己的理解,下面引用部分是我的注释。
必要时可以参考npm文档

全局安装

安装位置

npm所在位置

全局安装是将npm包安装在你的node安装目录下的node_modules文件夹中。

npm是Node.js的包管理工具,所以当我们从官网下载安装node的时候,npm也顺带装好了。
npm安装在node安装目录下的node_modules文件夹中
在这里插入图片描述

以下,“npm包”指利用npm命令安装的包

npm包所在位置

可以通过命令来查看npm全局安装的包所在的路径

// 查看全局安装路径
npm root -g

// 查看npm的基础设置
npm config ls

// 查看安装目录路径
npm config get prefix

我执行npm root -g 的结果是 E:\usr\local\node_modules,在该目录下可以看到自己使用npm安装的yarn:在这里插入图片描述

全局命令

npm包在全局安装之后,这个包的命令就会被注册到全局,你就可以直接在命令行中执行这个命令了。

其实,当你全局安装一个npm包之后,在这个包的package.json文件中,在bin属性下配置的执行命令,会放在npm包所在node_modules目录的父目录中。
当你在命令行执行这个命令,系统就会执行该父目录下对应的命令文件

比如,打开上面的yarn包中的package.json:
"bin": { "yarn": "./bin/yarn.js", "yarnpkg": "./bin/yarn.js" },
可以看到定义了两个命令yarn和yarnpkg。以yarn命令为例,对应的执行文件为./bin/yarn.js:
在这里插入图片描述而该命令会在yarn包所在路径的父目录,即E:\usr\local\中生成对应的命令脚本:
在这里插入图片描述

有时候,我们用npm全局安装的包,执行相应的命令时却提示 **不是内部或外部命令,也不是可运行的程序 。这是因为对应的命令脚本所在目录没有配置到path中。
以上面的目录为例,我们可以直接把E:\usr\local\配置到path中,这样,npm全局安装的包都可以在命令行中执行。

本地安装

安装位置

在特定项目中执行npm install xxx,那么这个包会被安装在这个项目的node_moduels目录下。但是如果你在这个项目中直接执行包中的命令,就会发现控制台报错,告诉你这个命令找不到。这时候有两个解决方法:

  • 使用npx执行:npx出现主要解决的问题就是调用项目内部安装的模块,所以你可以在项目中执行npx 包命令。
  • 在package.json文件中配置:
"scripts": {
    "script命令": "包命令",
}

原理: 在本地安装一个包之后,这个包的命令会被添加到项目的node_modules/.bin文件中。执行npm run 命令,package.json中的scripts会按照一定顺序寻找对应命令的位置,本地的node_modules/.bin也在寻找的清单中。所以本地安装的包的命令可以执行。

package.json

管理本地安装的包的最好方法是创建一个package.json文件。
如果在项目文件夹下有package.json文件,你在该项目中运行命令npm install,npm就会检查文件中列出的依赖包,并下载所有满足语义化规则的最新版本的依赖包。

这时,会在package.json同目录的node_modules中下载所有的包;
如果node_modules里面有不在package.json中的包,会被删除。

引用

本地安装包之后,包就放在了工程目录下的 node_modules 目录中,因此在代码中只需要通过 require的方式引入就好,无需指定第三方包路径。
e.g.

var express = require('express');
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值