当前位置: 首页 > 后端技术 > Node.js

总结:Npm常用命令及操作

时间:2023-04-03 23:47:13 Node.js

npm全称(NodePackageManager),是随NodeJS一起安装的包管理和分发工具。非常方便JavaScript开发者下载、安装、上传和管理安装包。先解释一下下面会用到的变量:|模块名版本号版本范围<@scope>作用域。所有npm包都有一个名称。某些包名也有作用域。npm包名scope/scope详解|1.安装配置Node和前言#查看npm的版本$npm-v//6.4.0<<安装成功会返回版本号#查看各个命令的简单用法$npm-l#查看npm命令列表$npmhelp#查看npm配置$npmconfiglist-l2.npminit创建模块$npminitnpminit用于初始化并生成一个新的package.json文件。它会问用户一系列问题。如果你觉得不需要修改默认配置,一路回车即可。如果后缀为-f(force),-y(yes),则跳过提问阶段,直接生成新的package.json文件。如果没有后缀,默认会有提问阶段。以上创建完成后,可以直接在Package.json中查看,也可以修改更新。3.npmset设置环境变量$npmsetinit-author-name'我叫jerry'$setinit-author-email'12345@qq.com'$setinit-author-url'http://yourdomain.com'$npmsetinit-license'MIT'进行了以上修改,此时Package.json没有变化//设置后执行init使修改成功$npminit4.npmsearch搜索模块$npmsearch[-g]npmsearch命令用于搜索npm仓库,后面可以跟一个字符串或者正则表达式。5.npmlist查看模块#当前项目安装的所有模块$npmlist#列出全局安装的模块用[--depth0]不深入包的支点更简洁$npmlist-g--depth04.npminstall安装模块的基本用法#读取package.json中的配置列表并安装$npminstall//可以简写为npmi#默认安装指定模块的最新(@latest)版本$npminstall[<@scope>/]//eg:npminstallgulp#安装指定模块的指定版本$npminstall[<@scope>/]@//eg:npminstallgulp@3.9.1#安装里面指定版本范围的模块$npminstall[<@scope>/]@//eg:npminstallvue@">=1.0.28<2.0.0"#安装指定模块的指定标签。默认值为(@latest)$npminstall[<@scope>/]@//eg:npminstallsax@0.1.1#通过Github代码库地址安装$npminstall//eg:npminstallgit://github.com/package/path.git配置选项说明:#Globalinstallation-g|-global//eg:npmi-ggulpornpmigulp-g#Thisisdefaultsetting,unless-Dor-Oexists#Installandwillbeaddedtothedependenciessectionofpackage.json.复制代码-P|--save-prod#**(productionphasedependencies)**#安装并会添加到package.json的依赖区-S|--save//eg:npmigulp--saveornpmigulp-S#**(DevelopmentPhaseDependencies)**#安装并会添加到package.json的devDependencies区域。-D|--save-dev//npmigulp--save-devornpmigulp-D#**(optionalstagedependencies)**#安装并会添加到package.json的optionalDependencies区域-O|--save-optional#安装模块的确切版本,而不是使用npm默认的semver范围运算符-E|--save-exact//npmigulp--save-exact或npmigulp-E#InstallandWillbeaddedtothelistof`bundleDependencies`-B|--save-bundle#不管模块是否已经安装,npm都会强制重新安装-f|--force//eg:npminstallsax--force//补充:必须重新安装所有模块,所以删除`node_modules`并重新执行`npminstall`$rm-rfnode_modules//或者手动删除node_modules目录$npminstall#防止保存到`dependencies`--no-save#报告安装状态而不是实际安装--dry-run五、npmuninstalluninstallmodule#卸载当前项目或全局模块$npmuninstall[-g]eg:npmuninstallgulp--save-devnpmigulp-g卸载后,可以到/node\_modules/目录下查看包是否还存在,或者使用如下命令查看:npmls查看已安装的模块6.npmupdateupdatemodule#升级当前项目或全局指定模块$npmupdate[-g]//eg:npmupdateexpressnpmupdateexpress-gVII.npmlinkreferencemodule#引用dependencies有些包是全局安装的,只需要在项目中引用即可。$npmlink[<@scope>/][@]//eg:referencenpmlinkgulpgulp-sshgulp-ftp//eg:dereferencenpmunlinkgulp#referencemodule我用的很少如果你想深入讲,可以去文档示例$npmlink(inpackagedir)8.npmrun执行脚本。package.json的scripts字段可以用来指定脚本命令,供npm直接调用。npmrun将创建一个shell并执行指定的命令。两个命令的简写,start和test是特殊命令,run可以省略,其余必须包含run。npm运行的参数。如果不加任何参数直接运行,会列出package.json中所有可执行的脚本命令。可配置的参数格式是加两个连字符(--)---package.json文件---"scripts":{"test":"mochatest/"}-------terminal-------$npmruntest--anothertest.js#相当于直接执行$mochatest/anothertest.js的内部变量---package.json文件---{"name":"npm_test","version":"1.0.0","config":{"reporter":"xunit"},"script":{"bundle":"mkdir-pbuild/$npm_package_version/",//$npm_package_version读取值外部“版本”,类似地,$npm_package_name读取外部“名称”“test”的值:“mochatest/--reporter$npm_package_config_reporter”//$npm_package_config_reporter在“config”中读取“reporter”}}-两个钩子(hooks)npm会先检查是否定义了prelint和postlint这两个钩子,如果有的话,会先执行npmrunpre-commandname,然后执行npmruncommandname,最后执行npmrunpost-命令名称。---package.json文件---"scripts":{"lint":"eslint--cache--ext.js--ext.jsxsrc","test":"karmastart--log-leve=errorkarma.config.js--single-run=true","pretest":"npmrunlint","posttest":"echo'Finishedrunningtests'"}------终端-------$npmrunlint//直接执行npmrunlint结束$npmruntest//因为定义了两个hookpretest和posttest。//所以先执行npmrunpretest//然后执行npmruntest//最后执行npmrunposttest九、npmpublishreleasemodule#未注册的应用直接在https://www.npmjs.com/注册一个用户注册是一样的$npmadduser//执行后填写几个问题Username,Password,Email#Registered$npmlogin#Publish$npmpublishMart仅供参考请更正并添加Thanksinformation:RuanYifeng:https://javascript.ruanyifeng...官网文档:https://www.npmjs.com.cn/菜鸟教程:https://www.runoob.com/nodejs...白橡树npm常用命令详解新手案例用npm发布包如何发布你自己的NPM包(模块)?