开发一个npm包
首先创建一个项目例如dom-npm
image.png
命令行cd到该目录下;
输入:
npm init //初始化该目录
该操作在文件夹里自动生成发布包所必须的文件同时指引你完成以下操作
image.png
此时文件夹里面多了个package.json的文件;文件内容如下图
image.png图片中的内容大概就是前面初始化按照步骤填写的东西不做详细介绍;
再手动为文件夹里面添加一个README.md(这个文件也是必要的;用于写你这个包的介绍和用法;展示于npm中该包的详情页)如下图
image.png
接下来写自己的npm包
image.png
从js代码中可以看出我这个包依赖两个文件
- a.js ---这是自己写的文件到时候上传到npm时一起上传的
- marked.js ---这是别人的上传的包
下载依赖包 npm install --save marked
npm install --save marked
此时markde的依赖包下载到了本地如下图:
image.png我们打开一下package.json
文件如下图
文件里多了一个
"dependencies": {
"marked": "^0.3.9"
}
}
作用:此时上传我的npm包就不要需要上传node_modules下的依赖包;别人下载我的包时候会根据package.json里面的 "dependencies"字符串下的依赖包自动下载下来
开发依赖 npm install --save-dev pkg 的区别
npm install --save-dev pkg
package.json
文件会多出一个
"devDependencies": {
"包的名称": "版本号"
}
}
这是表示这个包是一个开发依赖包用户使用的时候可以不用下载这个依赖
把包发布到npm供别人使用
发布之前首先要登录:终端输入
npm login
然后按照步骤输入npm的用户名密码邮箱完成登录;如下图
image.png
然后输入命令发布包
npm publish /可以使sudo npm publish --tag 0.0.1 后面接包的名称版本
这是会出现报错;如下图
image.png
原因是上面登录的成功后提示的的网址为
https://registry.npm.taobao.org/
因为由于http://registry.npmjs.org这个源国内用户访问非常慢,所以一开始我们可能换成了国内淘宝的镜像:http://registry.npm.taobao.org。但是淘宝这个镜像没有开放上传的权限,因此会报这样的错误:
所有我们要切换为最初源
方法一
修改~/.npmrc中的registry字段(命令如下)
vi ~/.npmrc
如下图按i键上下左右移动光标修改标记位置地址然后按esc退出编辑模式 ;然后输入:wq回车保存退出;如下图
image.png
方法二
直接命令行修改
命令:npm set registry http://registry.npmjs.org
修改好后重新登录上传
上传成功后就能在npm搜到我的上传的包了
使用
install
npm install -g mood-weather
run
mood 长沙
网友评论