一、必备环境
要使用 npm 需要先安装 node.js ,node下载地址:下载 | Node.js
1、npm 源管理
npm 发包必须使用 npm 的源镜像,如果你的 npm 源设置了淘宝镜像则需要切换回来,借用如下指令:
1、查看 npm 源
npm config get registry
2、切换镜像
淘宝镜像:npm config set registry https://registry.npm.taobao.org
npm镜像:npm config set registry https://registry.npmjs.org
2、注册账号
到 npm 官网注册一个 npm 账号,记住用户名,密码和邮箱,注册之后需要在邮箱中验证一下才能使用;
特别注意:邮箱验证必须做,否则上传时会报错!最好是在谷歌游览器上进行注册
二.创建 npm 包
- 新建文件夹,作为包的根目录,文件夹名字在 npm 官网看看有没有被占用
- 在新建文件夹中,新建如下三个文件:
package.json (包管理配置文件)
index.js (包的入口文件、自定义)
README.md (包的说明文档)
3. 初始化 package.json
配置文件
在新建文件夹下打开控制台,然后执行 npm init
生成一个package.json
文件;这个时候会要求输 入 package
相关信息:
package name:包名
version:版本,默认1.0.0
description:包的描述
entry point:包的入口,默认 index.js
git respository:git 资源库地址
keywords:关键词
author:作者
license:证书,默认ISC
最后会生成 package.json
文件
{
"name": "flightloong-tools", //包名跟文件夹名称一样
"version": "1.0.0",// 版本号
"description": "提供格式化时间、HTMLEscape相关功能", // 功能提示
"main": "index.js", // 跟包的入口文件 js 名字要一样
"keywords": [
"itcast",
"itheima",
"dateFormat",
"escape"
],
"license": "ISC" // 开源协议
}
如果想要修改的时候可以打开这个文件直接进行修改:
name:包名,也就是publish后可以在npmjs中通过该名称搜索到
version:版本号,,默认 1.0.0
description:包描述
keywords:关键字,有助于人们使用npm search搜索时候发现你的项目
main:入口文件,默认是 index.js
scripts:支持的脚本,默认是一个空的test
dependencies:在生产环境中需要用到的依赖
devDependencies:在开发、测试环境中用到的依赖
author:作者
license:证书,vue 设置为 MIT
4. README.md
文件编写包的说明文档
- 包根目录中
README.md
文件,是包的使用说明文档。通过它,我们可以事先把包的使用说明,以markdown
的格式写出来,方便用户参考 README
文件中具体写什么内容,没有强制性的要求;只要能够清晰地把包的作用、用法、注意事项等描述清楚即可
三.例如我的项目
1.名为key-tools 是我建立的根文件
2.名为eventcode 是在key-tools里建立的子文件
3.在名为eventcode里建立我开头说的三个文件 不过我为了整洁些和方便整理文件在里面又建立src的文件
4.在src的文件里建立key.js文件里面放入我写的代码 例如:
function Eventkey(window) {
document.onkeydown = function (event) {
var e = event || window.event || arguments.callee.caller.arguments[0];
//键盘按键判断:左箭头-37;上箭头-38;右箭头-39;下箭头-40
if (e && e.keyCode == 37) {
alert("c"); //按左要做的事情
}
if (e && e.keyCode == 38) {
alert("a"); //按上要做的事情
}
if (e && e.keyCode == 39) {
alert("d"); //按右要做的事情
}
if (e && e.keyCode == 40) {
alert("b"); //按下要做的事情
}
};
}
module.exports = {
Eventkey,
};
5.在index.js文件写入:
const keycode = require("./src/key");
module.exports = {
...keycode,
};
6.README.md 中写入你这包作用说明(这个就是类似声明书一样)
四.工作准备完成后开始npm发包
在发包前这里有关于发包的一些相关命令:
注册:npm adduser
初始化:npm init
登录:npm login (初次发包)
发包:npm publish
撤销包: npm unpublish 包名 --force 即可从 npm 删除已发布的包。
- npm unpublish 命令只能删除 72 小时以内发布的包
- npm unpublish 删除的包,在 24 小时内不允许重复发布
- 发布包的时候要慎重,尽量不要往 npm 上发布没有意义的包!
删除包:npm deprecate 包名 [@版本] “描述”
查看当前账号:npm whoami
本地联调:npm link
取消本地联调:npm unlink
查看安装了多少包:npm ls
查看node安装路径:npm get prefix
查看全局node包:npm root -g
清理缓存:npm cache clean -f
版本修改:
npm version patch:1.0.0会变成1.0.1
npm version major:1.0.0会变成2.0.0
npm version minor:1.0.0会变成1.1.0
1.接下来是登陆流程
1、登录
打开终端输入 npm login (登陆)
2.:需要输入用户名(Username)、密码(Password:)密码默认是不显示的、邮箱(Email)
Enter one-time password(这个是一个一次性的验证密码,会发到你的邮箱里)
3、执行指令 npm publish
,没有报错则可以在 npm 官网按照包名搜索查看;
PS D:\学习\前端设计\就业代码\key-tools> npm publish
因为我发过一次所以无法再次发送这里引用别人发包成功的例子:
当包名成功发布后前面会有个加号