用@vue/cli发布npm包
1.环境准备
安装node,npm,@vue/cli
2.初始化项目
用@vue/cli创建新项目
vue create mtest-ui
删除public,main.js,App.vue等无关文件,新增packages文件夹存放自己的vue组件
这里我写了一个actionsheet的vue组件放到packages文件夹中
并且在src目录中新增了个js,目录像这样:
其中lib目录是后续打包生成的先不用管
其中index.js是为了把packages中的组件提供一个统一入口来import
代码如下:
import showActionSheet from './packages/actionsheet/index';
// ...如果还有话继续添加 const components = [
showActionSheet,
// ...如果还有的话继续添加
] const install = function (Vue) {
components.map(component => {
Vue.component(component.name, component);
})
} /* 支持使用标签的方式引入 */
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue);
} export default {
install,
showActionSheet
// ...如果还有话继续添加
}
3.配置修改
3.1修改package.json
将private选项设置为false,这样别人才能使用你的npm包
scripts中新增:
"lib": "vue-cli-service build --target lib --name mtest-ui --dest lib ./src/index.js"
设置import该npm包时查询的入口文件
"main": "lib/mtest-ui.umd.min.js",
运行以下命令即可生成打包后的各个构建版本的文件。
npm run lib
生成的各个构建版本文件:
构建步骤就完成了。
4.npm发布
没有npm账号的先注册账号
npm adduser
然后登陆
npm login
发布
npm publish
注意:发布的包只能在24个小时内撤销,并且要加上--force参数(npm官方不建议撤销)
npm unpublish --force
包的升级:
在package.json中修改版本号并且重新npm publish就可以了
用@vue/cli发布npm包的更多相关文章
- 【vue系列之三】从一个vue-pdf-shower,说说vue组件和npm包
前言 从去年年初开始,自己便下决心要写一个vue系列的博客,但时至今日,才写系列的第三篇博客,想来甚是惭愧. 但是慢归慢,每一篇都要保证质量,以及要写出自己的心路历程,防止自己工作中填的坑再让读者走一 ...
- 不会发布npm包?进来看看?
前言 npm(Node Package Manager),一个Node的包管理器,平时我们常用的公共模块(插件)或者叫做包大多都放在上面,所以接下来要封装的插件,我们就简单称它为npm包,本文从就从这 ...
- 使用Vue-cli3.0创建的项目,如何发布npm包
使用Vue-cli3.0创建的项目,如何发布npm包 在使用vue进行项目开发时,如果我们想要发布一个包,有时候会有点迷糊,不知道应该怎么修改脚手架的默认设置.这里记录一下一些常见的操作. 创建ind ...
- 创建并发布npm包
1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站注册地址:https://www.npmjs.com/signup 2.命令行工具登录npm np ...
- 使用cnpm搭建私有NPM仓库 发布npm包
关于如何使用cnpm搭建私有的npm仓库看这里→ http://blog.fens.me/nodejs-cnpm-npm/ 我本人还没有机会真正实践操作过,公司的npm仓库是我老大搭建的,我这里仅仅记 ...
- 前端组件用 Scope 发布 npm 包的方法
1.引言 多人.多组织或多组件发布 npm 包到同一个仓库时,可能出现命名冲突问题. 为了解决这个问题,npm 引入了“scope”(范围)概念. 在 Angular 项目中,我们通常可以看到“@an ...
- 基于vue组件,发布npm包
亲测好用,如出错,请留言 1.项目初始化 使用vue脚手架创建,但vuecli太重,我们使用简单的工程脚手架进行处理,输入命令 vue init webpack-simple my-project n ...
- 使用vuecli3发布npm包
一.使用vuecli3创建项目 vue create svgicon 二.修改目录,开发组件前的准备 把src目录改为examples作为查看组件的演示目录,新建packages目录作为组件编写的目录 ...
- node学习笔记8——发布npm包
1.注册一个npm账号: 2.在控制台输入 npm login: 依次输入你的账号信息,可通过 npm whoami 来验证是否登录成功 3.初始化包,控制台输入 npm init: 完成之后,可以看 ...
随机推荐
- 洛谷P4116 Qtree3
题目描述 给出\(N\)个点的一棵树(\(N-1\)条边),节点有白有黑,初始全为白 有两种操作: \(0\) \(i\) : 改变某点的颜色(原来是黑的变白,原来是白的变黑) \(1\) \(v\) ...
- thinkphp5使用phpmailer发送邮件
1.首先让邮箱开启smtp服务,本案例使用163的SMTP服务器: smtp.163.com发送邮件 2.下载phpmailer,在tp项目里的extends文件夹下新建一个文件夹phpmailer, ...
- 洛谷 P1547 Out of Hay (最小生成树)
嗯... 题目链接:https://www.luogu.org/problemnew/show/P1547 思路: 嗯...既然题中已经说了是最小生成树,那么是需要在最小生成树的模板上稍作修改即可.要 ...
- day20模块作业
1.模块化作业 1.回顾文件递归遍历. 默写一遍. 入口在: 当文件是个文件夹的时候 出口在: 文件是一个文件 2.计算时间差(用户输入起始时间和结束时间. 计算时间差(小时), 例如, 用户输入20 ...
- UVa11093
//当汽车从第i个加油站到第j个加油站无法继续走下去的时候,这时候[i,j]区间的所有加油站都无法作为起点,因为当我们到第k个加油站的时候,起码是带着>=0的油去的,现在不带油直接从第k个开始肯 ...
- Vertical roller mill from SBM
Vertical roller mill has many different forms, but it works basically the same. All of these forms o ...
- Hadoop 解除 “Name node is in safe mode”(转)
运行Hadoop程序时,有时候会报以下错误: org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Na ...
- Java微信公众平台开发(十)--微信用户信息的获取
前面的文章有讲到微信的一系列开发文章,包括token获取.菜单创建等,在这一篇将讲述在微信公众平台开发中如何获取微信用户的信息,在上一篇我们有说道微信用户和微信公众账号之间的联系可以通过Openid关 ...
- IO缓冲流
目录 IO缓冲流 缓冲流 基本原理 字节缓冲流 字符缓冲流 IO缓冲流 缓冲流也叫高效流,能够更高效的进行读取: 转换流:能够进行编码转换 序列化流:持久化存储对象 缓冲流 缓冲流--就是对应4个Fi ...
- JavaSE_4_集合
1.Map和ConcurrentHashMap的区别? Map和ConcurrentHashMap的区别,Map是接口,ConcurrentHashMap是实现类 2.hashMap内部具体如何实现的 ...