一、首先需要到npm 官网 https://www.npmjs.com/signup 注册一个账号, 如果有账号了可直接在命令行登录 ,
二、登录的时候一定要确认自己当前npm镜像源是npm的()而不是淘宝的镜像
npm config get registry
npm config set registry=http://registry.npmjs.org
上传完后可设置回淘宝镜像(cnpm 命令),方便下载依赖库
npm config set registry http://registry.npm.taobao.org/
三、建一个新的文件夹,名称ceshi,进入文件夹
npm init 初始化
name: (my-npm)
version: (1.0.0)
description: 0.0.1
entry point: (index.js)
test command:
git repository:
keywords:
author: Awe
license: (ISC) MIT
About to write to F:\github\my-npm\package.json:
{
"name": "my-npm",
"version": "1.0.0",
"description": "0.0.1",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Awe",
"license": "MIT"
}
Is this ok? (yes)
1.name 模块名,该名称需要在npm 上是唯一的,之后用户通过 npm install “当前模块名来引用该库”,所以在定义的时候可以到 https://www.npmjs.com/ 去查询是否存在当前名字的包
2.version 版本号,语义版本号分为X.Y.Z 三位,代表主版本号,次版本号和补丁版本号,
所以当库更新时,版本号应按以下原则更新
a. 如果只是修复bug,需要更新Z位。 b. 如果是新增了功能,但是向下兼容,需要更新Y位。 c. 如果有大变动,向下不兼容,需要更新X位。
-
description 介绍自己的模块
-
main 入口文件,必要, 当通过require 或 import 时,是读取main 里声明的文件
5.test command 测试命令 (给出库的一些可测试的信息)
6.git repository git 仓库地址
7.keywords 关键词,可通过npm搜索这些关键词找到你的库
8.author 作者信息 该库的开发者信息
9.license: 代码授权 (例如 Apache 2.0 或 MIT 等协议)
执行完上面命令,可在文件夹中生成一个package.json 的文件
main:“ceshi”. //记得修改入口文件对应的文件名
下一步:创建ceshi.js文件,编写里面内容
let custormCensoredWords = []
function addCensoreWorld(world)
{
custormCensoredWords.push(world);
}
exports.addCensoreWorld=addCensoreWorld;
下一步:创建README.md文件,进行描述
四、测试编写是否正确,是否能正常使用
参考 https://blog.csdn.net/baidu_41601299/article/details/102607213
1.使用命令行创建封装模块
使用命令行导航到ceshi文件夹下,然后使用命令 **npm pack** 封装生成tgz文件,这样就封装了一个模块。
1.创建名local文件夹
2.命令行导航到local文件夹下,然后安装已经封装好的模块,如果是已经发布到NPM注册表的直接 npm install 名字,如果是在本地 npm install tgz文件路径。
例如:cnpm install C:\Users\Administrator\Desktop\ceshi--save
3.安装完成后会在local文件夹下生成包含censority子文件夹的node_modules文件夹
4.新建local.js文件测试(注意代码console、封装模块的函数别写错了)
在需要的页面引入:
var censor=require(“ceshi”);
censor.addCensoreWorld('gloomy');
5、用命令行node local.js来调用local.js查看结果
五、上传到npm上
1、注册好npm号之后,在ceshi文件夹,
2、终端输入npm login ,输入账号,密码,邮箱,如果双重验证的划输入邮箱验证码
3、npm publish发布
4、在项目中使用 npm install 包名下载包,
或者npm install 包名@1.0.1,指定版本
5、使用:import name from “保命”,直接使用
六、更新包
1、拉下包之后进行更改,更改晚之后,在package.json中,修改version版本号,版本号修改规则见上面描述。
2、npm login ,npm publish
额外介绍 npm 部分命令 :
a. npm update “包名” 用于更新node_modules子目录对应模块更新到最新版本
b. npm cache clear 可以清空 npm 本地缓存,用于处理库版本未更新,但代码更新的情况
c. npm unpublish “包名”@版本号 可以撤销自己发布过的某个版本代码 (但npm 只能删除发布24小时内的包,发布超过24小时的 可以发布一个新版本 里面为空文件,覆盖以前的包, 然后执行npm deprecate my-thing@“< 最新版本号”)
七、npm添加管理员npm-owner
官网地址:添加链接描述
其他参考地址 添加链接描述
报错处理地址:添加链接描述