前言
首先完全符合CommonJS
规范的包目录应该包含如下这些文件:
- package.json:包描述文件
- bin: 用户存放可执行的二进制文件的目标
- lib: 用于存放JavaScript的代码
- doc:用于存放文档的目录
- test:用户存放单元测试用例的代码
- Markdown:项目说明
注意,规范是规范,完全可以自己控制的,比如可以习惯性用src来存放js代码~
还有这里就不对包描述文件展开讲了,大家可以去看看一个开源框架的例子,那么下面咱们就一步步来上传自己的一个包。。。。
发布属于自己的包
首先创建文件夹和脚本
这里我简单起见,新建一个文件夹和一个脚本名为index.js
,默认入口文件是index.js
,当然大家可以改为其他的名字,但是就需要在包描述文件
里面设置对应的入口文件哦(下一步会有介绍),index.js
的脚本如下:
//index.js
exports.sayHello = function(){
return "my first package"
}
ok,下一步初始化包描述文件
初始化包描述文件
很简单,执行命令npm init
即可,结果如下:
首先,'package name'
也就是以后npm inistall xx
时候的xx
,然后回车,一步一步往下走,因为我已经初始化过了,所以我就贴出结果了
以上还需要特别注意的是,entry point
,这里指的是入口文件,默认是index.js
,如果不想默认,输入文件名即可。
输入完之后,就会生成一个大家所熟悉的package.json
文件。
注册包仓库账号
这里需要注意的是,如果你当前仓库是淘宝镜像,一定要切回到npm的仓库源,命令如下:
npm config set registry=http://registry.npmjs.org
如果你不是当前是什么源,可以输入以下命令进行查看
npm config get registry
ok,如果你切回到npm的仓库源了,输入以下命令,进行账号注册
npm adduser
如上所示,输入账号,密码,邮箱即可,我这里只是给大家做个演示并没有输入,当你输入完后,一定要记得邮箱通过验证,默认当你提交代码的时候,会报错,意思你没有邮箱验证,不可上传~
上传包
输入以下命令即可,需要注意的是,要在刚刚创建的package.json
文件所在的目录下
npm pulish . //有个点哦~
okok,截止目前,我们的包已经上传成功,现在咱们就引入测试一下~
引入自己的包
在别的目录下,随便找一个脚本
const data = require("first-pack")
console.log(data.sayHello())
然后执行脚本,即可看到输出了my first package
是不是很简单,大家快试试吧,很有意思的~