简介
- npm类似java maven ,js包管理工具
- npm 的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已
npm install express # 本地安装 npm install express -g # 全局安装
本地安装:将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。 可以通过 require() 来引入本地安装的包。
全局安装:将安装包放在 /usr/local 下或者你 node 的安装目录。可以直接在命令行里使用。
ps:本人一般使用本地安装,原因现在硬盘空间大,网速也不慢,本地安装方便依赖管理。全局安装主要节约硬盘空间,节省重复下载,全局安装其实最后还是需要导入本地文件夹,成为本地安装。
操作
模块操作
npm install <package_name>:会安装 package.json 中 dependencies 和 devDependencies 里的所有模块
- npm install <pkg> --save :安装生产环境所需依赖的声明(开发应用中使用的框架,库)
- npm install --save-dev <packname> : 安装开发环境所需依赖的声明(构建工具,测试工具)
工程构建(开发时、“打包”时)依赖 ;例:xxx-cli , less-loader , babel-loader...
在 package.json 文件里面体现出来的区别就是,使用 --save-dev 安装的插件,被写入到 devDependencies 对象里面去,而使用 --save 安装的插件,则被写入到 dependencies 对象里面去。
安装好之后,express 包就放在了工程目录下的 node_modu
les 目录中,因此在代码中只需要通过 require('express') 的方式就好,无需指定第三方包路径。
var express = require('express');
npm uninstall <package> :卸载 Node.js 模块
npm list :命令查看
-
npm list grunt : 查看某个模块的版本号
pm update express : 更新模块
npm search express : 搜索模块
npm 资源库中注册用户与操作
npm adduser :创建自己的包,第一次注册提示输入账号,密码和邮箱,然后将提示创建成功
npm login:第二次登录
npm publish
npm cache clear:
清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人(未使用)
npm unpublish <package>@<version>:
撤销发布自己发布过的某个版本代码
淘宝 NPM 镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org :安装cnpm并设置源
cnpm install [name]
全局包命令
npm install -g <package>
npm update -g <package>
npm update -g.
npm outdated -g --depth=0.
npm uninstall -g <package>
npm list
npm list -g --depth 0 //全局模块查询
npm config get registry //查看默认npm的源地址
npm config set registry https://registry.npm.taobao.org:修改npm的源地址
npm config set prefix "D:\node\npm_modules" :全局模块存放路径
npm config set cache "D:\node\npm_cache" :cache路径
npm root -g //查看全局包的安装路径
sudo npm i -g npm //更新 NPM 版本
查询操作:
配置查询
npm config list //查看基本配置
npm config list -l //查看所有配置
根目录查询
npm root -g //查看全局包的安装路径
npm config get prefix
package.json文件操作
package.json是一个描述文件,描述了你项目中各个包之间的关系
npm init :当前目录创建一个 package.json 文件
npm help json:json配置文件配置文档
Package.json 属性说明
name - 包名。
version - 包的版本号。
description - 包的描述。
homepage - 包的官网 url 。
author - 包的作者姓名。
contributors - 包的其他贡献者姓名。
dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
keywords - 关键字
设置方法:
npm set init.author.email "shixinzhang2016@gmail.com"
npm set init.author.name "shixinzhang"
详细学习文档
脚本操作
npm run dev:一般用于运行本地测试
npm run build:(目前还没有遇到使用,后期补充)
package.json里面
"dev": "node build/dev-server.js",
"build": "node build/build.js",
意思:运行”npm run dev”的时候执行的是build/dev-server.js文件,
运行”npm run build”的时候执行的是build/build.js文件。
详细学习文档
解读 vue-cli 脚手架(一):npm run dev的背后