You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
npm config list
npm config set <key> <value>
npm config get [<key>]
npm config delete <key>
npm config list [--json]
npm config edit
npm set <key> <value>
npm get [<key>]
概述
与NPM配置相关的,有下面几个文件:
.npmrc
.npmrc文件,就是npm的配置文件所在位置。通过这个文件可以查看一些npm元信息,比如包的缓存目录、全局或本地node包的存放位置等等。
相关的指令有:
配置项请参考:Npm config list 字段
package.json
该文件用于描述当前库的信息,包括名字、作者、描述、依赖等等。
package.json中最重要的属性是name和version两个属性,这两个属性是必须要有的,否则模块就无法被安装,这两个属性一起形成了一个npm模块的唯一标识符。模块中内容变更的同时,模块版本也应该一起变化。
版本号相关
>、>=、<、<=
,顾名思义peerDependencies
通常是在插件开发的场景下,你的插件需要某些依赖的支持,但是你又没必要去安装,因为插件的宿主会去安装这些依赖,你就可以用peerDependencies去声明一下需要依赖的插件和版本,如果出问题npm就会有警告来提醒使用者去解决版本冲突问题。
bin指定指令
如果包是安装在本地的话,package.json文件里的scripts字段可以识别
./node_modules/.bin
路径下的指令;如果包是安装在全局的话,包里的bin字段对应的脚本会映射到系统PATH路径上——所以可以在终端执行这些脚本指令。因为指令
npm link
可以把本地开发的包安装到全局上,所以我们可以很方便测试自己写的指令。npm unlink
可以注销掉之前安装到全局的本地包。指令可以通过
process.argv
获取终端传入的命令行参数,它是一个数组。package-lock.json和shrinkwrap.json
这两个文件作用一样,除了一点,当发布一个包的时候shrinkwrap.json会被包含在里面。
package-locks
这包括npm install,npm rm,npm update等为了防止这种更新情况发生,你可以使用--no-save选项,防止一起保存,或 --no-shrinkwrap允许package.json同时使被更新 package-lock.json或npm-shrinkwrap.json完整。
参考
npm 中文文档
npm-folders
npm的package.json字段含义中文文档
peerDependencies介绍及简析
浅谈node.js命令行工具
npm package.json属性详解
The text was updated successfully, but these errors were encountered: