【npm】创建和发布无作用域的公共包

目录

1、创建包项目

2、进入目录

3、初始化项目

4、查看当前npm镜像源

5、切换镜像源

6、查看当前登录用户

[7、登录 npm 用户](#7、登录 npm 用户)

8、发布

9、查看公共包页面

10、删除已发布的npm包

11、📚总结


1、创建包项目

bash 复制代码
# 在命令行上,为包创建目录
mkdir vinca-package

2、进入目录

bash 复制代码
# 进入该目录
cd vinca-package

3、初始化项目

bash 复制代码
# 构建 package.json
npm init 

响应提示以生成 package.json 文件

bash 复制代码
C:\Users\vinca-package>npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (vinca-package)
version: (1.0.0)
description: 我的第一个npm包
entry point: (index.js)
test command:
git repository:
keywords:
author: Vinca
license: (ISC)
About to write to C:\Users\vinca-package\package.json:

{
  "name": "vinca-package",
  "version": "1.0.0",
  "description": "我的第一个npm包",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Vinca",
  "license": "ISC"
}


Is this OK? (yes)

C:\Users\vinca-package>

注意:package name有唯一性,否则发包会失败。如果冲突了,请使用编辑器打开该文件并修改name的值。

4、查看当前npm镜像源

bash 复制代码
npm config get registry

5、切换镜像源

如果不是官方默认镜像,请执行以下命令切换到npm官方镜像源:

bash 复制代码
# 切换到npm官方源
npm config set registry https://registry.npmjs.org

参阅:http://t.csdnimg.cn/dm1xA

6、查看当前登录用户

bash 复制代码
# 查看当前登录的用户
npm whoami

7、登录 npm 用户

bash 复制代码
# 登录用户
npm login
  1. 输入命令之后,敲击ENTER键弹出浏览器进行鉴权登录。
  2. 如果你还未注册请先完成注册流程。前往注册:npm | Sign Up
  3. 正确输入账密登录后,你的注册邮箱会收到一条来自【npm】发送的 OTP code 一次性密码,直接输入点击login即可。
  4. 身份验证成功,之后回到"命令提示符"窗口,敲击ENTER键,完成登录鉴权响应。
  5. 这时候在此输入 npm whoami 就会出现你的账号名了。

8、发布

bash 复制代码
npm publish

发布成功,底部的回显消息:

bash 复制代码
+ vinca-package@1.0.0

同时,你的邮箱会收到发布该包的成功信息,包含SHASUM。

9、查看公共包页面

  • 通过快捷链接查看
bash 复制代码
# *package-name* 替换成你的包名
https://npmjs.com/package/*package-name*
  • 登录 npm > Packages 查看你的所有npm包资源。

10、删除已发布的npm包

bash 复制代码
# 从注册表中删除包,[<package-spec>] 换成你的包名,--force 强制删除
npm unpublish [<package-spec>] --force
  • 如果您未登录,将返回错误信息。
  • 24小时之内不能发布该包的任何新版本。

删除成功回显消息:

bash 复制代码
- vinca-npm

11、📚总结

以下是 npm 命令及其用法:

1、access - 用于设置包的访问级别,可以是 public 或 private。

  • 示例:npm access public my-package 将包设置为公共访问级别。
  • 注意事项:只有包的所有者才能更改访问级别。

2、adduser - 用于在 npm 上创建或登录用户账号。

  • 示例:npm adduser
  • 注意事项:需要提供 npm 账号的用户名、密码和电子邮件地址。

3、audit - 用于检查项目依赖项的安全性漏洞。

  • 示例:npm audit
  • 注意事项:可以通过 npm audit fix 尝试修复一些安全性问题。

4、bugs - 显示一个包的 Bug 提交地址。

  • 示例:npm bugs my-package

5、cache - 用于管理 npm 缓存。

  • 示例:npm cache clean --force 用于强制清空 npm 缓存。

6、ci - 类似于 install 命令,但用于持续集成环境。

  • 示例:npm ci
  • 注意事项:通常用于在持续集成过程中快速安装项目依赖项。

7、completion - 生成 shell 自动补全脚本。

  • 示例:npm completion >> ~/.bashrc 用于在 Bash 中启用自动补全。

8、config - 用于配置 npm 行为的命令。

  • 示例:npm config set registry https://registry.npm.taobao.org 用于将注册表更改为淘宝镜像。
  • 注意事项:全局配置使用 --global 选项。

9、dedupe - 用于减少依赖项中的重复模块。

  • 示例:npm dedupe
  • 注意事项:可以减少项目的依赖项大小。

10、deprecate - 用于标记包或包的版本为不推荐使用。

  • 示例:npm deprecate my-package@"<1.0.0" "This version is deprecated. Please upgrade."

11、diff - 用于查看两个版本之间的差异。

  • 示例:npm diff my-package@1.0.0 my-package@2.0.0

12、dist-tag - 用于管理包的版本标签。

  • 示例:npm dist-tag add my-package@1.0.0 latest
  • 注意事项:常用于发布预览版本或稳定版本。

16、docs - 打开包的文档页面。

  • 示例:npm docs my-package

17、doctor - 用于检查项目的环境和配置。

  • 示例:npm doctor

18、edit - 在文本编辑器中编辑本地包。

  • 示例:npm edit my-package

19、exec - 在包安装后执行任意命令。

  • 示例:npm exec my-package -- ls -l

20、explain - 解释 npm 错误代码的含义。

  • 示例:npm explain E404

21、explore - 在浏览器中打开一个包的主页。

  • 示例:npm explore my-package

22、find-dupes - 查找项目依赖项中的重复模块。

  • 示例:npm find-dupes

23、fund - 显示项目依赖项的资助信息。

  • 示例:npm fund

以上是 npm 的一些常用命令及其用法示例和注意事项。


相关推荐
qbbmnnnnnn4 分钟前
【WebGis开发 - Cesium】如何确保Cesium场景加载完毕
前端·javascript·vue.js·gis·cesium·webgis·三维可视化开发
f8979070701 小时前
layui动态表格出现 横竖间隔线
前端·javascript·layui
鱼跃鹰飞1 小时前
Leecode热题100-295.数据流中的中位数
java·服务器·开发语言·前端·算法·leetcode·面试
二十雨辰2 小时前
[uni-app]小兔鲜-04推荐+分类+详情
前端·javascript·uni-app
霸王蟹2 小时前
Vue3 项目中为啥不需要根标签了?
前端·javascript·vue.js·笔记·学习
小白求学12 小时前
CSS计数器
前端·css
Anita_Sun2 小时前
🌈 Git 全攻略 - Git 的初始设置 ✨
前端
lucifer3113 小时前
深入解析 React 组件封装 —— 从业务需求到性能优化
前端·react.js
谢尔登3 小时前
【Node.js】worker_threads 多线程
node.js
等什么君!3 小时前
复习HTML(进阶)
前端·html