npm发布流程说明

一、进入要发布的项目根目录,初始化为npm包

复制代码
npm init

name:最重要的字段之一,项目名称(少于214个字节)。没有name和version不能进行安装;

version:最重要的字段之一,项目版本。没有name和version不能进行安装;修改项目代码的同时需要修改该version字段;

description:项目描述,帮助人们通过npm search发现该项目;

main:包的入口文件

keywords:关键字,帮助人们通过npm search发现该项目;

license:开源声明;

files:字段设置发布哪些文件或目录。这个优先级高于 .npmignore.gitignore可通过配置*.npmignore***过滤不需要的文件

这步完成之后会生成一个package.json文件,上面输入的这些信息可以在该文件中修改

二、npm登陆

若是没有账号,请先注册 https://www.npmjs.com/

复制代码
npm login

如果曾经设置过淘宝的镜像代理,这里打印的内容为:

复制代码
Username: *****
Password:
Email: (this IS public) *****
Logged in as ***** on https://registry.npm.taobao.org/.

如果么有设置过淘宝的镜像代理,这里打印的内容为:

复制代码
Username: *****
Password:
Email: (this IS public) *****
Logged in as ***** on http://registry.npmjs.org/.

三、npm发布

发布查看是否包名被注册过

复制代码
npm info 包名    //报错npm ERR! code E404错误说明没有被注册过

npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npm.taobao.org/jz-cn - [no_perms] Private mode enable, only admin can publish
 this module
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.

报错,这里报错是说没有权限,这里就与之前是否设置过淘宝镜像有关系,如果登陆的是淘宝镜像,这里就会报错

发布

复制代码
普通用户发布   npm config set registry=http://registry.npmjs.org && npm publish
组织用户发布   npm config set registry=http://registry.npmjs.org && npm publish --access public

发布成功:会出现字样

发布组织:

复制代码
npm notice
+ jz-cn@1.0.0

四、发布遇到问题

当前package.json设置了

复制代码
{
	"private": true  //这是一种防止意外发布私有存储库的方法
}

可以看到提示the package has been marked as private 即 只有移除掉该属性才能发布。

模块安装成功后node_modules出现多余文件出现可设置package.json

复制代码
  "files": [   //指定提交目录文件
    "es",
    "dist",
    "lib"
  ],

也可以是用.npmignore进行过滤npm文件

五、常见命令

复制代码
npm login  //登录
npm publish   //发布
npm info  包名 //是否发布过包
npm whoami  //本地登录的用户

六、dumi组件包发布问题

打包出现Error: 'insertCss' is not exported by修改.fatherrc文件

复制代码
export default {
  entry: 'src/index.js',
  esm: 'babel',   //打包类型修改babel
  umd: { file: 'index' },  //umd导出文件
  extractCSS: true,
  cssModules: true,  //开发css模块化
};
相关推荐
真夜9 分钟前
从Go工具到Vite插件:参考esbuild案例打造前端自动化部署神器
前端框架·node.js·go
cc.ChenLy16 分钟前
浏览器缓存机制详解:如何彻底解决前端代码更新后的缓存问题
前端
XTTX11022 分钟前
Vue3+Cesium电子围栏效果
前端·javascript·vue.js
泉城嵌入式38 分钟前
从嵌入式开发工程师角度了解前端开发与后端开发
node.js
KevinWang_40 分钟前
AI 基础设施及其应用
前端
AIFarmer41 分钟前
npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。
前端·npm·node.js
小红的布丁1 小时前
Redis 集群详解:主从哨兵和切片集群有什么区别
前端·数据库·redis
小高0071 小时前
🔥前端性能内卷终点?Signals 正在重塑我们的开发习惯
前端·javascript·vue.js
周末也要写八哥1 小时前
HTML网页设计入门之“做前端”的基本思路
前端·html
VelinX1 小时前
【个人学习||vue】
前端·vue.js·学习