1.使用verdaccio搭建npm私服,发布组件库
(1)首先准备一台服务器,安装好node
地址:http://nodejs.cn/download/
(2)cmd全局安装verdaccio
命令行:npm install -g verdaccio
(3)执行verdaccio,启动服务
命令行:verdaccio
2.npm命令
(1)添加账号
命令行:npm adduser --registry http://localhost:4873/
Username:注册的用户名;(注册用户名不能重复)
Password:设置密码;
Email:注册邮箱;(注册邮箱不能重复)
(2)登陆账号
命令行:npm login --registry http://localhost:4873/
Username:注册的用户名;(注册用户名不能重复)
Password:设置密码;
Email:注册邮箱;(注册邮箱不能重复)
(3)初始化项目
命令行:npm init
这里提示输入:
-
name:填写个包的名字,默认是这个文件夹的名字(npm有同名的包会报错); -
version:包的版本,默认是1.0.0; -
description:要封装的包的简单介绍; -
entry point:入口文件,默认是index.js,也可以是其它名字; -
test command:测试命令,直接回车; -
git repository:这个是git仓库地址,如果你的包是先放到github上或者其他git仓库里,这时候你的文件夹里面会存在一个隐藏的.git目录,npm会读到这个目录作为这一项的默认值。如果没有的话,直接回车继续; -
keyword:作为这个包的索引的关键字; -
author:作者名或账号; -
license:许可证, 没有就直接回车;
(4)发布项目
命令行:npm publish --registry http://localhost:4873/
发布项目前,需要先登陆
(5)下载项目
命令行:npm install 包名 --registry http://localhost:4873/
3.verdaccio的config.yaml配置文件
# 存储NPM包的路径
storage: ./storage
#用户管理
auth:
htpasswd:
#保存用户账户、密码等信息文件
file: /.htpasswd
# 允许注册的最大用户数, 默认是无限制
# 如果是-1, 禁止注册
#max_users: 1000
# 我们可以访问已知的其他存储库列表,用于请求资源不存在,根据此处配置地址请求其他服务器
uplinks:
npmjs:
//默认为npm官网,可以在此修改成其他源地址
url: http://registry.npmjs.org/
# 配置权限管理
# 可以指定用户名/组名(取决于你的插件)
# 3个关键字: "$all", "$anonymous", "$authenticated"
# $all表示所有人
# $anonymous表示匿名者
# $authenticated表示只通过验证的人可以执行对应操作
packages:
'@*/*':
access: $all
publish: $authenticated
'*':
access: $all
publish: $authenticated
proxy: npmjs
# 日志设置
logs:
- {type: stdout, format: pretty, level: http}
#不设置外网端口无法访问
listen: 0.0.0.0:4873
4.手动添加账号
网站地址:https://hostingcanada.org/htpasswd-generator/ 然后把生成的密码串,复制到htpasswd文件就可以了。
5.常用npm命令行
# 查看 npm 的版本
npm -v
# 查看各个命令的简单用法
npm -l
# 查看 npm 命令列表
npm help
# 查看 npm 的配置
npm config list -l
# 初始化模块
npm init
# 设置环境变量
npm set
# npm search 搜索模块
npm search <搜索词> [-g]
npm search命令用于搜索npm仓库,它后面可以跟字符串,也可以跟正则表达式。
# 查看模块
npm list
#列出全局安装的模块 带上[--depth 0] 不深入到包的支点 更简洁
npm list -g --depth 0
# 安装模块
npm install
# 默认安装指定模块的最新(@latest)版本
npm install [<@scope>/]<name>
例如:npm install test
# 安装指定模块的指定版本
npm install [<@scope>/]<name>@<version>
例如:npm install test@3.9.1
# 安装指定指定版本范围内的模块
npm install [<@scope>/]<name>@<version range>
例如:npm install test@">=1.0.28 < 2.0.0"
#卸载当前项目或全局模块
npm uninstall <name> [-g]
例如: npm uninstall test --save-dev
npm i test -g
#升级当前项目或全局的指定模块
npm update <name> [-g]
例如: npm update express
npm update express -g
# 引用依赖 有些包是全局安装了,在项目里面只需要引用即可。
npm link [<@scope>/]<pkg>[@<version>]
例如: 引用 npm link test test-ssh test-ftp
例如: 解除引用 npm unlink test
#注册添加新用户
npm adduser
//执行后 填写几个问题 Username、Password、Email
#已注册
npm login
#发布模块
npm publish (必须先登录再发布)
#执行脚本
npm run
|