有时候,我们希望将项目里的模块提升为公共模块,以便其他项目也能使用。在前端可以将模块发布到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仓库的更多相关文章

  1. 从零开始把项目发布到NPM仓库中心

    从零开始把项目发布到NPM仓库中心 前期准备 注册账号 https://www.npmjs.com/signup 网易邮箱注册失败,用QQ邮箱成功 使用npm 命令注册(建议使用网页): npm ad ...

  2. 从零开始把项目发布到Nuget仓库中心

    从零开始把项目发布到Nuget仓库中心 我的项目地址 https://github.com/Ants-double/dasuan ### 前期准备 下载并注册nuget帐号 下载地址 https:// ...

  3. 把自己的项目发布到maven仓库并在maven和gradle中开始使用

    把自己的项目发布到maven仓库并在maven和gradle中开始使用 上一条博客中提到的日志打印项目总算是维护的差不多了, 不过现在使用它还是打成jar包放到其他项目内, 所以决定把项目传到mave ...

  4. 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 ...

  5. 基于vue的脚手架开发与发布到npm仓库

    什么是脚手架 在项目比较多而且杂的环境下,有时候我们想统一一下各个项目技术栈或者一些插件/组件的封装习惯,但是每次从零开发一个新项目的时候,总是会重复做一些类似于复制粘贴的工作,这是一个很头疼的事情, ...

  6. 从零开始把项目发布到maven仓库中心

    sonatype准备操作 注册账号 https://issues.sonatype.org 1. 密码符号规范,并且工记住 新建项目 1. group id 如果你有com域名的所有权可以直接使用,如 ...

  7. 使用gradle插件发布项目到nexus中央仓库

    目录 简介 Gradle Nexus Publish Plugin历史 插件的使用 Groovy DSL Kotlin DSL 插件背后的故事 总结 简介 Sonatype 提供了一个叫做开源软件资源 ...

  8. `vue-router`的`History`模式下的项目发布

    背景 脚手架版本号:vue cli 3.x 项目路由:vue-router的History模式 原理:url路由处理逻辑从后端转移到前端. 参考:https://developer.mozilla.o ...

  9. Maven入门指南⑥:将项目发布到私服

    1 . 修改私服中仓库的部署策略 Release版本的项目应该发布到Releases仓库中,对应的,Snapshot版本应该发布到Snapshots仓库中.Maven根据pom.xml文件中版本号&l ...

随机推荐

  1. BUG 测试计划

       性能追求 目前状况 测试标准 APP平稳运行,无crush现象   快速下拉翻页时,崩溃退出     要求多人使用,均流畅无异常退出方可               页面的放大缩小不会造成页面显 ...

  2. Leetcode802-找到最终的安全状态(Python3)

    刚开始没思路,还以为是利用二维矩阵直接标记节点间的有向路径,最后循环遍历就能得到结果,结果最后发现方向是错的,之后看了大佬们写的代码,发现原来是用出度来实现节点是否安全的. 照着大佬们的思路重新写了一 ...

  3. lua学习之逻辑运算符not,and,or

    根据某度查询,lua中的逻辑运算符和其他高级语言大不相同,balabala.我们来看看 广大网友怎么说吧. 版本1: 版本2: 版本3:  揭晓答案: lua中的逻辑与或非与其他语言无差别,都是正常的 ...

  4. Spring IoC getBean 方法详解

    前言 本篇文章主要介绍 Spring IoC 容器 getBean() 方法. 下图是一个大致的流程图: 正文 首先定义一个简单的 POJO,如下: public class User { priva ...

  5. [PHP][thinkphp5] 学习二:路由、配置调用、常量定义调用

    路由: 其实TP5就是一个集多家框架所长而成的,感觉失去了自己的特色!路由这块呢类似于laravel框架!废话不说直接上码! 路由配置,类似laravel,就在route.php文件里配置路由(文件所 ...

  6. C++获取char值

    直接获取内存地址,不需要定义指针类型的方法,(当然也就不需要释放了)USES_CONVERSION;    if (myFun1)    {        CString _input;       ...

  7. 从零开始学AB测试:躲坑篇

    AB测试的原理很简单,只用到了最简单的统计假设检验,但表面的简单通常都隐藏着陷阱,这一点没有经过实践的摸爬滚打是不容易看到的,今天我就把前人已经踩过的坑,一共15个,给大家分享一下.在分享之前,大家脑 ...

  8. redis: 持久化(十二)

    RDB配置 RDB 是 Redis 默认的持久化方案.在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中.即在指定目录下生成一个dump.rdb文件.Redis 重启会通过加载d ...

  9. EasyPoi 导入导出Excel时使用GroupName的踩坑解决过程

    一.开发功能介绍: 简单的一个excel导入功能 二.Excel导入模板(大致模板没写全): 姓名 性别 生日 客户分类 联系人姓名 联系人部门 备注 材料 综合 采购 张三 男 1994/05/25 ...

  10. Java IO 流 -- 数据流和对象流 DataOutputStream ObjectOutputStream

    DataOutputStream 和 ObjectOutputStream的共同点是: 1.写出后读取 2.读取顺序和写出一致 数据流操作: // 写入 ByteArrayOutputStream b ...