其他分享
首页 > 其他分享> > NPM配置详解(转)

NPM配置详解(转)

作者:互联网

什么是NPM

简单来说,npm(Node Package Manager)是包含在node.js里面的一个包管理工具,NPM会随着Node.js一起安装。NPM为开发者提供了一个代码共享的大平台,当我们在项目中需要使用某个模块(jsvascript包)时,可以直接使用NPM包含管理工具来下载对应的包并安装

2.packgr.json文件

搭建一个前端项目之前,通常会在项目的根目录下生成一个名为package.json的文件作为NPM包的描述文件,使用该文件来定义项目信息,配置包依赖关系。package.json文件可以自己手动创建,也可以使用命令npm init来创建。

文件包含了NPM包的基本信息(项目名称,版本号,项目描述,作者)和依赖管理,例如:

image

在package.json文件中,所有的依赖包都会在 dependencies 和 devDependencies 的配置项中进行管理,它们的意思是:
dependencies: 表示生产环境下的依赖管理;
devDependencies: 表示开发环境下的依赖管理;

开发环境和生产环境

什么是开发环境和生产环境,简单来说,就是在项目的开发阶段就是开发环境;项目上线了,开始正式提供对外服务,上线后的阶段就是生产环境。在生产环境下,一般会关掉错误报告,打开错误日志等操作。

devDependencies

devDependencies配置的是开发环境,安装项目开发时所依赖的模块。比如像webpack工具,只是用来构建项目和打包,这些都是在开发阶段才使用的,等项目上线后就用不到webpack工具了,那么我们就可以把webpack安装到开发环境中,使用 --save-dev命令安装到devdependencies下(命令:npm install --save-dev <packageName>)。

dependencies

dependencies配置的是生产环境,安装项目运行时所依赖的模块。比如jQuery库,等项目上线以后依然是要继续使用的,我们就要安装在生产环境中,如果没有把需要的依赖安装到生产环境中,项目上线运行时就有可能会报错。使用 --save 命令安装到dependencies 下(命令语法:npm install --save <packageName>)。

简单来说:开发环境,管理的依赖包仅在开发阶段有效。生产环境,管理的依赖包在项目上线后依然有效。

npm install 安装依赖

当你的package.json文件中配置了相关的依赖,npm install 会将配置中的依赖下载到当前目录的node_modules文件夹中(如果没有这个文件夹则自动生成一个)。

"dependencies": { 					//生产环境
    "vue": "2.6.10",
    "vue-router": "3.0.6",
    "vuex": "3.1.0"
},
"devDependencies": {				//开发环境
	"sass": "1.26.8"
}

比如:你的项目里有如下依赖,别人用你项目时就要下载你的package.json中配置的容,那么执行npm install则会下载vue,vue-router,vuex,sass模块下载到node_modules文件夹中。

5种npm依赖

dependencies => 放置项目中代码运行时需要用到的依赖

devDependencies => 放置本地开发过程中需要使用到的编译、打包、测试、格式化模块等

peerDependencies => 放置本模块需要宿主环境提供的模块依赖(通常本模块是为了给引用方提供服务时设置依赖)

bundledDependencies => 和上面的配置不同,为数组格式,其中包含需要被打包进本地 package 里的依赖模块名,通过 npm pack 命令生成一个模块包
-B //缩写

optionalDependencies => 放置一些项目中可忽略其各种错误的包模块,和 dependencies 一样,但该模块可有可无
-O //缩写

转自:CSDN博主「迷 失。」原文链接:https://blog.csdn.net/weixin_57550930/article/details/119008743

转自:CSDN博主「menghu1994」原文链接:https://blog.csdn.net/menghu1994/article/details/114936350

标签:NPM,npm,依赖,项目,配置,环境,详解,模块,dependencies
来源: https://www.cnblogs.com/fhzmasl/p/16420127.html