【前端】NodeJs包管理工具NPM
程序员文章站
2024-01-04 16:40:04
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS部署上的很多问题。 测试是否安装成功,出现版本提示表示安装成功。 NPM常用命令 官方文档:https://www.npmjs.com/package/doc 检查模块卸载是否成功:进入/node_modules/目录查看包是否还在,或 ......
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS部署上的很多问题。
测试是否安装成功,出现版本提示表示安装成功。
npm -v
NPM常用命令
官方文档:https://www.npmjs.com/package/doc
npm install <module> #安装模块 npm uninstall <module> #卸载模块 npm update <module> #更新模块 npm search <module> #搜索模块 npm init <module> #创建模块模块 npm add user #npm资源库中注册用户 npm publish #发布模块 npm help #可查看所有命令 npm help <command> #查看某条命令详细帮助 npm install . -g #可以先在本地安装当前命令行程序,可以用于发布前的本地测试 npm cache clear #清空NPM本地缓存 npm unpublish <package>@<version> #撤销发布过的某个版本
检查模块卸载是否成功:进入/node_modules/目录查看包是否还在,或者使用如下命令:
npm ls
全局安装与本地安装
npm包安装分本地安装(local)和全局安装(global),差别是带不带 -g(global).
- 本地安装:将安装包放在./node_modules下;可以通过require()引入本地安装包。
- 全局安装:将安装包放在/urs/local或者node的安装目录;可以直接在命令行使用。
npm install <module> # 本地安装 npm install <module> -g # 全局安装 npm list -g #查看所有全局安装模块 npm list <module> #查看具体模块版本号
使用package.json
package.json位于模块的根目录下,用于定义包的属性。
package.json具体属性说明:
- name——包名
- version——包的版本号
- description——包的描述
- homepage——包的官网url
- author——包的作者
- contributors——包的其他贡献者
- dependencies——依赖包列表。如果依赖包没有安装,npm会自动将依赖包安装在node_module目录下
- repository——包代码存在的地方类型,可以是git、svn
- main——程序的主入口文件,默认是模块根目录的index.js
- keyword——关键字
NPM版本号
NPM使用语义版本号管理代码。语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。代码变更时,版本号按照如下原则更新。
- 如果只是修复bug,需要更新Z位。
- 如果是新增了功能,但向下兼容,需要更新Y位。
- 如果有大变动,向下不兼容,需要更新X位。
版本号有了这个保证后,在申明第三方包依赖的时候,可以依赖某个范围的版本号。
使用淘宝NPM镜像
国内直接使用npm官方镜像非常慢,可以使用淘宝NPM镜像。淘宝NPM镜像是一个完整的npmjs.org镜像,同步频率为10min一次。
淘宝npm: http://npm.taobao.org/
npm install -g cnpm --registry=https://registry.npm.taobao.org #安装cnpm代替npm npm config set registry https://registry.npm.taobao.org/ #直接修改npm镜像仓库registry
推荐阅读
-
NodeJs安装npm包一直失败的解决方法
-
在 ASP.NET Core 项目中使用 npm 管理你的前端组件包
-
前端笔记之NodeJS(二)路由&REPL&模块系统&npm
-
NodeJs安装npm包一直失败的解决方法
-
Nodejs的学习Ⅳ(静态与动态服务器的简单搭建、npm的上传包、在公网上部署服务器、MySQL的安装)
-
前端脚手架发布 / npm包发布问题汇总
-
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
-
怎样使用Nodejs 发布npm包并制作成命令行工具
-
在 ASP.NET Core 项目中使用 npm 管理你的前端组件包
-
前端笔记之NodeJS(二)路由&REPL&模块系统&npm