如何将项目发布到npm仓库
有时候,我们希望将项目里的模块提升为公共模块,以便其他项目也能使用。在前端可以将模块发布到npm仓库,这样所有项目都可以通过 npm install youProject 使用模块了。
这个过程很简单,具体如下:
发布流程
注册npm账户
进入npm网站 https://www.npmjs.com/ ,点击右上角的 join in,进行注册。
注册完之后一定要登录邮箱,进行校验激活(进入邮箱,点击链接即可)。
注意:校验成功后npm网站上方,不会显示警告,才能进行后续操作。
登录npm账户
执行 npm adduser。如果登录过可以执行npm login
更多命令参考 https://docs.npmjs.com/cli-documentation/
发布项目
发布项目之前,请阅读下面的项目规范!
进入项目目录,执行
npm publish
已发布的项目 注意修改版本号,保持更高即可。
项目规范
只有npm项目才可以发布。可以进入你的项目目录,运行 npm init 。
然后 修改项目的package.json配置,关键是以下几项:
"name": "your-module-name",
"version": "1.0.1",
"files": ["src"],
"main": "src/test.js",
name 和 version
分别是你的项目名称和版本号
"name": "your-module-name",
"version": "1.0.1",
这个配置,就可以这样被依赖:
npm install -S your-module-name@1.0.1
files和main
这是两个最重要的配置: files指的是别人下载你的依赖包含哪些文件 main指的是当引入依赖未指明具体路径时,实际引入的是哪个文件 如本例中:
"files": ["src"],
表示 npm install your-module-name 这个项目时 只会下载 src/ 目录下的所有内容。 进入node_modules/your-module-name 目录,发现只有src,其他代码均未下载
"main": "src/test.js",
表示当 import "your-module-name" 时,实际引入的是: import "your-module-name/src/test.js"
关闭private
很多项目(如 vue-cli 生成的项目)默认都会在package.json中加入如下配置:
"private": true,
这表示项目是私有的,不会被作为公共依赖发布。一定要删除这个配置!
好了,开始操作吧,将你的模块发到公共npm 仓库!
如何将项目发布到npm仓库的更多相关文章
- 从零开始把项目发布到NPM仓库中心
从零开始把项目发布到NPM仓库中心 前期准备 注册账号 https://www.npmjs.com/signup 网易邮箱注册失败,用QQ邮箱成功 使用npm 命令注册(建议使用网页): npm ad ...
- 从零开始把项目发布到Nuget仓库中心
从零开始把项目发布到Nuget仓库中心 我的项目地址 https://github.com/Ants-double/dasuan ### 前期准备 下载并注册nuget帐号 下载地址 https:// ...
- 把自己的项目发布到maven仓库并在maven和gradle中开始使用
把自己的项目发布到maven仓库并在maven和gradle中开始使用 上一条博客中提到的日志打印项目总算是维护的差不多了, 不过现在使用它还是打成jar包放到其他项目内, 所以决定把项目传到mave ...
- vue-cli4.0 基于 antd-design-vue 二次封装发布到 npm 仓库
1. 安装 cli npm install -g @vue/cli vue create winyh-ui 2.安装 antd-design-vue cnpm i ant-design-vue --s ...
- 基于vue的脚手架开发与发布到npm仓库
什么是脚手架 在项目比较多而且杂的环境下,有时候我们想统一一下各个项目技术栈或者一些插件/组件的封装习惯,但是每次从零开发一个新项目的时候,总是会重复做一些类似于复制粘贴的工作,这是一个很头疼的事情, ...
- 从零开始把项目发布到maven仓库中心
sonatype准备操作 注册账号 https://issues.sonatype.org 1. 密码符号规范,并且工记住 新建项目 1. group id 如果你有com域名的所有权可以直接使用,如 ...
- 使用gradle插件发布项目到nexus中央仓库
目录 简介 Gradle Nexus Publish Plugin历史 插件的使用 Groovy DSL Kotlin DSL 插件背后的故事 总结 简介 Sonatype 提供了一个叫做开源软件资源 ...
- `vue-router`的`History`模式下的项目发布
背景 脚手架版本号:vue cli 3.x 项目路由:vue-router的History模式 原理:url路由处理逻辑从后端转移到前端. 参考:https://developer.mozilla.o ...
- Maven入门指南⑥:将项目发布到私服
1 . 修改私服中仓库的部署策略 Release版本的项目应该发布到Releases仓库中,对应的,Snapshot版本应该发布到Snapshots仓库中.Maven根据pom.xml文件中版本号&l ...
随机推荐
- BUG 测试计划
性能追求 目前状况 测试标准 APP平稳运行,无crush现象 快速下拉翻页时,崩溃退出 要求多人使用,均流畅无异常退出方可 页面的放大缩小不会造成页面显 ...
- Leetcode802-找到最终的安全状态(Python3)
刚开始没思路,还以为是利用二维矩阵直接标记节点间的有向路径,最后循环遍历就能得到结果,结果最后发现方向是错的,之后看了大佬们写的代码,发现原来是用出度来实现节点是否安全的. 照着大佬们的思路重新写了一 ...
- lua学习之逻辑运算符not,and,or
根据某度查询,lua中的逻辑运算符和其他高级语言大不相同,balabala.我们来看看 广大网友怎么说吧. 版本1: 版本2: 版本3: 揭晓答案: lua中的逻辑与或非与其他语言无差别,都是正常的 ...
- Spring IoC getBean 方法详解
前言 本篇文章主要介绍 Spring IoC 容器 getBean() 方法. 下图是一个大致的流程图: 正文 首先定义一个简单的 POJO,如下: public class User { priva ...
- [PHP][thinkphp5] 学习二:路由、配置调用、常量定义调用
路由: 其实TP5就是一个集多家框架所长而成的,感觉失去了自己的特色!路由这块呢类似于laravel框架!废话不说直接上码! 路由配置,类似laravel,就在route.php文件里配置路由(文件所 ...
- C++获取char值
直接获取内存地址,不需要定义指针类型的方法,(当然也就不需要释放了)USES_CONVERSION; if (myFun1) { CString _input; ...
- 从零开始学AB测试:躲坑篇
AB测试的原理很简单,只用到了最简单的统计假设检验,但表面的简单通常都隐藏着陷阱,这一点没有经过实践的摸爬滚打是不容易看到的,今天我就把前人已经踩过的坑,一共15个,给大家分享一下.在分享之前,大家脑 ...
- redis: 持久化(十二)
RDB配置 RDB 是 Redis 默认的持久化方案.在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中.即在指定目录下生成一个dump.rdb文件.Redis 重启会通过加载d ...
- EasyPoi 导入导出Excel时使用GroupName的踩坑解决过程
一.开发功能介绍: 简单的一个excel导入功能 二.Excel导入模板(大致模板没写全): 姓名 性别 生日 客户分类 联系人姓名 联系人部门 备注 材料 综合 采购 张三 男 1994/05/25 ...
- Java IO 流 -- 数据流和对象流 DataOutputStream ObjectOutputStream
DataOutputStream 和 ObjectOutputStream的共同点是: 1.写出后读取 2.读取顺序和写出一致 数据流操作: // 写入 ByteArrayOutputStream b ...