如何将项目发布到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 ...
随机推荐
- Fiddler抓包过滤
1.User Fiters启用 2.Action Action:Run Filterset now是否运行,Load Filterset加载,Save Filterset保存: 3.Hosts过滤 Z ...
- 详解 Paths类 与 Files类
在本篇博文中,本人主要讲解NIO 的两个核心点 -- 缓冲区(Buffer) 和 通道 (Channel)之一的 缓冲区(Buffer), 有关NIO流的其他知识点请观看本人博文<详解 NIO流 ...
- 使用redis-dump与redis-load方式迁移redis数据库
实际生产场景中,有可能会因为迁移机房或者更换物理机等原因需要在生产环境迁移redis数据.本文就来为大家介绍一下迁移redis数据的方法. 迁移redis数据一般有如下3种方式: 1.第三方工具red ...
- SpringBoot集成Shiro实现权限控制
Shiro简介 Apache Shiro是一个功能强大且易于使用的Java安全框架,用于执行身份验证,授权,加密和会话管理.使用Shiro易于理解的API,您可以快速轻松地保护任何应用程序-从最小的移 ...
- redis: Hash集合类型(六)
存值:hset myhash name applesnt 取值:hget myhash name 批量存值:hmset myhash name lisi address bj age 12 批量取值: ...
- B站百大UP主党妹被黑客勒索!!!
4月27日,哔哩哔哩视频网站的UP主“机智的党妹”发布消息称,自己被黑客勒索了.她的视频表示:“事发突然,我被勒索了,你也有可能继续被诈骗!这种诈骗的页面是由病毒程序自动生成并留在那里的.”根据她的介 ...
- python学习01python入门一
在正式开启python代码的学习之旅之前,先来了解一下有关python语言的一些内容吧. python的命名,起源等等,大家自行百度了解,此处不再赘述. python是一种解释型语言,具有强调代码可读 ...
- DDOS攻击攻击种类和原理
DoS攻击.DDoS攻击和DRDoS攻击相信大家已经早有耳闻了吧!DoS是Denial of Service的简写,就是拒绝服务,而DDoS就是Distributed Denial of Servic ...
- 【Linux网络基础】网络拓扑、OSI层次模型、TCP/IP协议簇
一.前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工作来说这些并不是重点,因此,我不可能从最基础的网络知识开始讲起.本节内容更多是从一个梳理和 ...
- uniq 只能相邻行去重
uniq只可以将相邻行重复数据进行去重处理: [root@localhost /data/mysql/mysql3306]#last | cut -d ' ' -f 1 | tail -15 > ...