关于npm
- npm是Node.js的软件包管理器 。它创建于2009年,是一个 开源项目, 旨在帮助JavaScript开发人员轻松共享打包的代码模块。
- npm Registry是Node.js,前端Web应用程序, 移动应用程序, 机器人, 路由器以及JavaScript社区无数其他需求的开源代码包的公共集合 。
- npm是允许开发人员安装和发布这些软件包的命令行客户端。
- npm,Inc.是托管和维护以上所有内容的公司。
关于npm,inc
npm,inc是一家成立于2014年的公司。
致力于JavaScript社区的长期成功,其中包括node.js和npm项目的成功。
公司的目标:
- 作为免费服务运行开源注册表。
- 构建工具和操作服务,以支持在私有或企业环境中安全使用软件包。
- 创建 创新的付费产品,以改善全球专业JavaScript开发人员的生活。
- 官网地址npm,inc官网地址
创建一个空的文件夹用来保存自己的依赖仓库
mkdir myonenpmpackage
初始化myonenpmpackage
cd myonenpmpackage
npm init -y
执行该命令后的结果
{
"name": "myonenpmpackage",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
name:填写你这个包的名字,默认是你这个文件夹的名字。不过这里要着重说一下,最好先去npm上找一下有没有同名的包。最好的测试方式就是,在命令行里面输入npm install 你要取的名字,如果报错,那么很好,npm上没有跟你同名的包,你可以放心大胆地把包发布出去。如果成功下载下来了。。。那么很不幸,改名字吧。。。
version:你这个包的版本,默认是1.0.0
description:描述你的包是干嘛用的
main:入口文件,默认是Index.js,你也可以自己填写你自己的文件名
test command:测试命令,这个直接回车就好了,目前还不需要
git repository:这个是git仓库地址, 如果没有的话,直接回车继续。
keyword:这个是一个重点,这个关系到有多少人会搜到你的npm包。尽量使用贴切的关键字作为这个包的索引
author:写你的账号或者你的github账号吧
license:开源文件, 直接回车
这时在myonenpmpackage这个文件夹里会生成一个package.json文件,里面的内容跟上面的执行命令返回的结果内容是一样的,你只用管这个 “main”: "index.js"即可。 “main”: “index.js”,是依赖的入口文件,初始化的时候默认指定是同级目录下的"index.js"这个文件,所以我们需要在myonenpmpackage这个文件夹下创建一个"index.js"文件。
cd myonenpmpackage
touch index.js
编辑index.js文件【实现自己依赖的主要地方】
module.exports=require('./lib');
exports.myonenpmpackage=function(){
return "这是我的第一个javascript依赖";//这里说是JavaScript的依赖不知道合不合理,欢迎读者留言指教。毕竟我也是新手菜鸟一枚。
//这个依赖我们就只实现这一个函数好啦,至于要怎么在里面做文章不是本篇博客的出发点。
}
ok至此属于你自己的npm依赖库已经在本地建成,现在你需要做的是去npm,inc申请一个账号,用来发布自己的npm依赖仓库。上面有提到npm.inc的官网链接地址哦。这里我以用户名是admin,密码是123456,邮箱是110110110@qq.com作为案例介绍。
登录npm,inc账号
//首先进入到myonenpmpackage这个文件夹下
cd myonenpmpackage
npm adduser
//依次输入用户名,密码,邮箱即可
Username: admin
Password:
Email: (this IS public) 110110110@qq.com
//如果登录成功会提示以下信息
Logged in as wshn on http://registry.npmjs.org/.//这就意味着你可以执行下一步操作了
发布依赖
cd myonenpmpackage
npm publish
在你npm publish后可能出现的问题
1、邮箱认证。
不知道读者的你有没有遇到过这种问题,就是当你在npm,inc申请账号后,它会发送一封携带验证链接的邮件到你的指定邮箱,但是发送的延时很长,如果你没有验证这封邮件,你将无法发布自己的npm依赖仓库。
2、镜像问题
no_perms Private mode enable, only admin can publish this module
这是使用国内镜像源导致的你只用
$ npm config set registry http://registry.npmjs.org // 重新把npm的源设置为官方源
我只遇到到了这些问题,如果你遇到了其他问题欢迎在博客下方留言,我们一起讨论进步!!
本人初入coder的坑,还有很多不知道的地方,欢迎大神不吝赐教。如果这篇文章帮到了你请帮忙点赞转发,如果有什么疑问还可以加我qq1822497204私聊我哦!!
该文参考了简书上的一篇博客地址为https://www.jianshu.com/p/1b80e072c0dc
关于npm,inc的介绍参考了其官网https://www.npmjs.com/about