Npm

发布时间 2023-04-18 17:53:25作者: 爱前端的小魏

npm的目的:解决插件冲突,基于node环境,npm可以安装第三方库!

npm组成部分:

1.registry:入口(可以想象他是数据库,类似将第三方放进来,谁用就来数据库拿)

2.官网:https://www.npmjs.com/

3.Cli:需要熟悉的npm命令

了解registry:

该服务器是国外的,想要在国内使用,需要重新设置registry : https://registry.npm.taobao.org提供了国内的registry地址,

设置方式(命令行输入):npm config set registry https://registry.npm.taobao.org;

检查是否设置成功:npm config get registry

node_modlues文件夹:

在node_modules下显示该依赖(记得刷新一下),该node_modlues文件夹因为文件夹过多,会忽略该目录的文件内容! 

要是下载的依赖包还有其他依赖,也会将依赖放在node_modlues;

本地安装的包带有CLI的,npm会将他下载到node_modlues/.bin下,使用命令 npx 命令名 进行调用

全局安装依赖和局部安装依赖:(重要:全局安装的包并非所有工程可用,他仅提供全局的CLI工具)

全局安装命令: npm install --global 包名    或者   npm i -g 包名

局部安装命令: npm install 包名    或者 npm i 包名 

package.json文件(记录当前工程的依赖):

可以解决问题:

  1.node_modues文件夹上传git等,会忽略该文件夹内容,可以进行还原(查看第四)

  2.区分开发依赖和生产依赖(如:需要在开发环境使用一个测试工具,需要下载该依赖) (查看第四)

  3.如果自身项目也是一个包,如何描述包的信息

如何创建package.json:

    1.可以手动直接新建文件:输入:package.json

    2.输入命令:git init ;直接创建package.json(需要输入各个配置项,可以使用: git init -yes  或者 git i -y (默认))

  3.了解配置文件中的信息 

  name:包的名称,必须是英文单词

       version:版本(如:3.1.2)版本规范:主版本号(程序发生重大变化),次版本号(程序发生小变化),补丁版本号(出现一些问题)

    4.区分开发环境和生产环境所用依赖

       dependencies = 生产环境;devDependencies = 测试环境 

如何安装生产环境

  npm i 包名   或者 npm i --save 包名    或者    npm i  -S 包名

如何安装开发环境  

npm i --save-dev 包名   或者   npm i -D 包名

注意:

版本号之前的 ^  叫做语义版本号

Require()

如:var a = require(‘egg’)

egg这个文件指向哪里:如果没有写具体路径,会去node_modules文件夹下去找,先找文件在找文件夹,如果在文件中没有找到该‘egg’文件;那么去找egg文件夹,找到后,去找package.json--main的配置,找到main了,则调用该方法,如果没有找到main,那么去找index文件,如果也没找到则报错(需要注意:如果是node的内置模块,以上指向原理作废)