1. 在【自定义本地包】目录中,创建一个包文件夹 npm_publish_ceshi
自定义本地包
----node_modules
--------npm_publish_ceshi
2. 在包文件夹 npm_publish_ceshi 的根目录下,初始化一个package.json文件(npm init -y)
自定义本地包
----node_modules
--------npm_publish_ceshi
------------package.json
// 根据包信息配置package.json文件
{
“name”: “npm_publish_ceshi”,
“version”: “1.0.0”,
“description”: “npm publish ceshi”,
“main”: “index.js”,
“scripts”: {
“test”: “echo “Error: no test specified” && exit 1”
},
“keywords”: [“npm”, “publish”],
“author”: “”,
“license”: “ISC”
}
3. 在包文件夹 npm_publish_ceshi 的根目录下,新增入口文件index.js,用来编写业务逻辑代码
自定义本地包
----node_modules
--------npm_publish_ceshi
------------package.json
------------index.js
// index.js
function ceshi() {
console.log(“npm publish ceshi”)
}
exports.ceshi = ceshi
4. 在【自定义本地包】根目录中,新增test.js,测试本地包是否可以使用
自定义本地包
----node_modules
--------npm_publish_ceshi
------------package.json
------------index.js
----test.js
// test.js
let aModule = require(‘npm_publish_ceshi’)
console.log(aModule.ceshi())
// 在【自定义本地包】目录下,打开cmd命令窗口,执行 node test.js
得到结果 npm publish ceshi,说明,自定义本地包成功了
5. 确保当前使用的包管理工具是npm(默认已安装nrm)
5.1 在【npm_publish_ceshi】目录下,打开cmd命令窗口,执行命令 nrm ls,检查当前使用的包管理工具,发现是taobao
npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
cnpm ------- http://r.cnpmjs.org/
*taobao ----- https://registry.npm.taobao.org/
nj --------- https://registry.nodejitsu.com/
npmMirror – https://skimdb.npmjs.com/registry/
edunpm ----- http://registry.enpmjs.org/
5.2 执行命令 nrm use npm,切换包管理工具到npm
Registry has been set to: https://registry.npmjs.org/
5.3 再次执行命令 nrm ls,检查当前使用的包管理工具,发现是npm,说明成功切换
6. 在npm官网上注册一个账号在npm官网上注册一个账号(若已有账号,请忽略此步骤)
7. 发布
7.1 执行命令 npm addUser
输入用户名:
输入密码:
输入邮箱:
成功登录自己的npm账号
Logged in as hjj_upward on https://registry.npmjs.org/.
7.2 执行命令 npm publish,将自定义本地包发布到npm官网的远程服务器上
然后,发现报错了
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/npm_publish_ceshi - Forbidden
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.
经过百度,https://blog.youkuaiyun.com/bianliuzhu/article/details/113946742,发现是邮箱没有验证
7.3 根据npm官网发送的邮件,按步骤验证邮箱之后,再次发布,npm publish
出现 + npm_publish_ceshi@1.0.0
说明发布成功
7.4 来到npm官网 https://www.npmjs.com/,输入包名 npm_publish_ceshi,可以看到发布结果
8. 使用发布的包
8.1 新建目录
自定义本地包-使用
8.2 【自定义本地包-使用】目录中,执行命令 npm init -y,初始化package.json
8.3 【自定义本地包-使用】目录中,执行命令 npm i npm_publish_ceshi --save,安装包
8.4 【自定义本地包-使用】目录中,新增文件test.js
let aModule = require(‘npm_publish_ceshi’)
console.log(aModule.ceshi())
8.5 【自定义本地包-使用】目录中,打开cmd命令窗口,执行 node test.js
得到结果 npm publish ceshi
说明使用成功
8.6 最终生成的目录结构如下
自定义本地包-使用
----node_modules
--------npm_publish_ceshi
------------index.js
------------package.json
----package-lock.json
----package.json
----test.js