饥人谷技术博客

【了解npm和node中】npm包的开发和发布

2018-08-20  本文已影响1人  动感超逗

开发一个npm包

首先创建一个项目例如dom-npm


image.png

命令行cd到该目录下;
输入:

npm init //初始化该目录

该操作在文件夹里自动生成发布包所必须的文件同时指引你完成以下操作


image.png

此时文件夹里面多了个package.json的文件;文件内容如下图

图片中的内容大概就是前面初始化按照步骤填写的东西不做详细介绍;

image.png

再手动为文件夹里面添加一个README.md(这个文件也是必要的;用于写你这个包的介绍和用法;展示于npm中该包的详情页)如下图


image.png

接下来写自己的npm包


image.png

从js代码中可以看出我这个包依赖两个文件

下载依赖包 npm install --save marked

npm install --save marked

此时markde的依赖包下载到了本地如下图:

image.png

我们打开一下package.json文件如下图

image.png

文件里多了一个

"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  长沙
上一篇 下一篇

猜你喜欢

热点阅读