# Npm 基本使用

# npm config

# init

NPM init <初始化器>可以用来设置一个新的或现有的 NPM 包。

npm init

Search for packages 在注册表中搜索与搜索条件匹配的包。NPM 搜索对注册表中所有文件的包元数据执行线性的、增量的、按词汇顺序排序的搜索。

npm search

# install

这个命令安装一个包和它所依赖的任何包。如果包中有 package-lock,或者 npm shrinkwrap 文件,或者 yarn 锁文件,依赖项的安装将由这些文件驱动 优先级:

  • npm-shrinkwrap.json
  • package-lock.json
  • yarn.lock
npm install (with no args, in package dir)
npm install [<@scope>/]<name>
npm install [<@scope>/]<name>@<tag>
npm install [<@scope>/]<name>@<version>
npm install [<@scope>/]<name>@<version range>
npm install <alias>@npm:<name>
npm install <git-host>:<git-user>/<repo-name>
npm install <git repo url>
npm install <tarball file>
npm install <tarball url>
npm install <folder>

# ls

# 列出依赖
npm ls
# 列出依赖 只查看一级依赖
npm ls --depth=0
# 列出全局依赖 只查看一级
npm ls -g --depth=0
├── @vue/cli-service-[email protected]
├── @vue/[email protected]
├── import-[email protected]
├── [email protected]
├── local-cors-[email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── tree-[email protected]
├── ts-[email protected]
├── [email protected]-6-next.27
├── [email protected]
├── [email protected]
└── [email protected]

# npm script

# run

这将运行在"start"包"scripts"对象的属性中指定的预定义命令。

如果"scripts"对象没有定义 "start"属性,npm 将运行 node server.js。

npm start
# 相当于
npm run start
npm run-script start
# 没有 script.start 则
node server.js

# hook

{
  "scripts":{
    "preinstall": "echo 此处脚本在 npm install 之前执行",
    "postinstall": "echo 此处脚本在 npm install 之后执行"
  }
}

# npm 发布包

# pack

打包一个 package

npm pack [[<@scope>/]<pkg>...] [--dry-run] [--json]

# login

npm login

# whoami

npm whoami

# publish

npm publish --access=public