公司动态
包管理工具npm
包管理工具是一种协助开发者管理软件项目中依赖包库、模块等的系统它让开发、部署、维护的流程更为高效便捷在不同的编程生态中有不同的代表。这里是JavaScriptnpmNode Package Manager。安装与依赖处理npm 随 Node.js 一同安装是 JavaScript 世界里最常用的包管理工具。开发者执行npm install命令就能依据项目里的package.json配置文件把所需的第三方库如 React、Vue 等从 npm 官方仓库下载到本地项目的node_modules文件夹自动处理好各库之间复杂的嵌套依赖关系。版本管理在package.json里开发者能精准锁定依赖包版本既能防止因包的随意更新带来兼容性问题又方便后续复现项目环境。例如指定react: ^18.2.0“^” 表示接受小版本更新 要是写死版本号则完全固定。npm使用1.前提先在命令提示符中输入npm -v会出现一个版本号确保安装成功2.初始化文件在集成终端打开输入npm init创建package.json(包的配置文件每个包必须有)注意包名必须是英文小写也可以用npm init -y或者npm init --yes快速创建package.json3.搜索包命令提示符 npm s 关键字(eg:math) 或者 直接网站搜索http://www.npmjs.com4.下载安装包文件在集成终端打开,输入npm install或npm i 加包名 会出现node_modules文件夹和package-lock.json。5.开发依赖和生产依赖开发依赖devDependencies用途它们只在开发人员编码、调试阶段发挥作用产品最终上线时用户使用软件服务并不需要运行这些工具。npm 中的配置在 JavaScript 项目里使用 npm 管理包时通过在package.json文件中把相应依赖添加到devDependencies字段里。运行npm i -D命令就可以把对应的开发依赖包安装到项目中比如npm i -D webpackwebpack用于打包前端资源开发时不可或缺部署时却无需运行。生产依赖dependencies用途生产依赖关乎项目正常运行是产品提供功能服务所必需依赖的包。例如对于一个基于 Node.js 搭建的 Web 服务器express框架就是生产依赖没有它服务器没办法启动没办法对外提供网页服务用户也就没办法访问站点的各项功能。npm 中的配置在package.json中把依赖添加到dependencies字段。执行npm i -S命令就会把相关的生产依赖包下载到项目中例如npm i -S axiosaxios用于前端发起 HTTP 请求用户在前端页面交互时需要它来拉取数据属于保障业务运行的核心依赖。6.npm全局安装npm i -g nodemon说明1.全局安装的命令不受工作目录位置的影响2.该命令的作用是自动重启node 应用程序就不需要ctrl c来终止3.不是所有的包都适合全局安装只有全局类的工具才适合可以通过查看包的官方文档来 确定安装方式。4.可以通过npm root -g 可以查看全局安装包的位置(cmd中)7.修改windows的执行策略环境变量path例如 cmd 输入qq首先在当前文件夹去找qq的安装包.exe 或.cmd没有的话就在环境变量里面path列表挨个去找没有就报错找到了直接打开qq软件可以在path里面加入qq的路径复制qq文件所在路径右键此电脑属性高级系统设置环境变量 path将qq的路径加到path列表里这样在打开命令提示符输入qq直接打开qq软件8.安装包依赖通过该命令可以依据package.json和package-lock.json的依赖声明安装项目依赖因为node_modules文件夹大多数情况都不会存入版本库本身太大了9.安装指定版本的包npm i 包名版本号10.删除依赖npm r 包名 卸载局部npm r -g 包名 卸载全局11.npm配置命令别名通过配置命令别名可以更简单的执行命令配置package.json中的scripts属性{...scripts: {server:node server.js,start:node index.js,},..}配置完成之后可以使用别名执行命令npm run servernpm run start不过start别名比较特别使用时可以省略runnpm start补充说明npm start是项目中常用的一个命令一般用来启动项目npm run有自动向上级目录查找的特性跟require函数也一样对于陌生的项目我们可以通过查看scripts属性来参考项目的一些操作