Npm包管理器不用多讲,用过三大框架的应该都用过。今天讲一下怎么发布自己的npm包。
首先建一个文件夹,然后命令工具进入这个目录,执行npm init:
name 项目名称
version 项目的版本号
description 项目的描述信息
entry point 项目的入口文件
test command 项目启动时脚本命令
git repository 如果你有 Git 地址,可以将这个项目放到你的 Git 仓库里
keywords 关键词
author 作者
license 项目要发行的时候需要的证书,可忽略它
执行完毕生成package.json文件,打开就能看见这些信息。
因为我们默认的入口文件,所以在当前目录新建index.js,然后发现只能用index.js,package.json改了main的值也不行,配置文件的这个应该是只能用于webpack。
查看了很多包,发现没有多少人会直接把包的功能都写在index.js里面,应该是出于拓展性考虑。
所以这边的目录是这样的:
跟随大流使用lib文件夹,我这个包打算集成一些小功能,比如地址截取、cookie、日期转化等JavaScript功能,index.js就一句话:
module.exports = require('./lib');
然后其他操作都放在lib文件夹里面,这样就可以增加很多js文件,然后统一都集合到index.js里面,拓展性很强。还有要注意的就是lib里面暴露的也要是index.js。
Lib里面index.js我写了一个地址截取的方法:
export const urlCut = (key) => {
var reg = new RegExp("(^|&)"+ key +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
复制代码
写好之后放到项目的node_modules,然后
import { urlCut } from 'w-collect';
console.log(urlCut);
验证是否可用,可用的话就准备发包。
Npm账号要自己去申请,在我们项目目录打开命令行:
Npm login
然后就登录,这边注意输入密码的时候是看不见的。
接着就是发布:npm publish
发布完成去npm官网搜索你自己的包,我发布的是wade-tools,可用下载,但是没有其他任何简介,暂时都没有写。
这边提一下,发包不超过24小时可以撤销发布的包,要是只是测试尽量撤销,然后不能再用这个名字发布。发包还可能出现一些错误,因为本人只遇见没有验证邮箱的错误,所以就不整理了。