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包的更多相关文章

  1. 【vue系列之三】从一个vue-pdf-shower,说说vue组件和npm包

    前言 从去年年初开始,自己便下决心要写一个vue系列的博客,但时至今日,才写系列的第三篇博客,想来甚是惭愧. 但是慢归慢,每一篇都要保证质量,以及要写出自己的心路历程,防止自己工作中填的坑再让读者走一 ...

  2. 不会发布npm包?进来看看?

    前言 npm(Node Package Manager),一个Node的包管理器,平时我们常用的公共模块(插件)或者叫做包大多都放在上面,所以接下来要封装的插件,我们就简单称它为npm包,本文从就从这 ...

  3. 使用Vue-cli3.0创建的项目,如何发布npm包

    使用Vue-cli3.0创建的项目,如何发布npm包 在使用vue进行项目开发时,如果我们想要发布一个包,有时候会有点迷糊,不知道应该怎么修改脚手架的默认设置.这里记录一下一些常见的操作. 创建ind ...

  4. 创建并发布npm包

    1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站注册地址:https://www.npmjs.com/signup 2.命令行工具登录npm np ...

  5. 使用cnpm搭建私有NPM仓库 发布npm包

    关于如何使用cnpm搭建私有的npm仓库看这里→ http://blog.fens.me/nodejs-cnpm-npm/ 我本人还没有机会真正实践操作过,公司的npm仓库是我老大搭建的,我这里仅仅记 ...

  6. 前端组件用 Scope 发布 npm 包的方法

    1.引言 多人.多组织或多组件发布 npm 包到同一个仓库时,可能出现命名冲突问题. 为了解决这个问题,npm 引入了“scope”(范围)概念. 在 Angular 项目中,我们通常可以看到“@an ...

  7. 基于vue组件,发布npm包

    亲测好用,如出错,请留言 1.项目初始化 使用vue脚手架创建,但vuecli太重,我们使用简单的工程脚手架进行处理,输入命令 vue init webpack-simple my-project n ...

  8. 使用vuecli3发布npm包

    一.使用vuecli3创建项目 vue create svgicon 二.修改目录,开发组件前的准备 把src目录改为examples作为查看组件的演示目录,新建packages目录作为组件编写的目录 ...

  9. node学习笔记8——发布npm包

    1.注册一个npm账号: 2.在控制台输入 npm login: 依次输入你的账号信息,可通过 npm whoami 来验证是否登录成功 3.初始化包,控制台输入 npm init: 完成之后,可以看 ...

随机推荐

  1. jmeter 签名MD5生成(转)

    请求接口需要同时发送签名,签名定义为: 可以看出签名就是把用户的密码 .用户名 和签名key生成一个md5串就可以了 刚好jmeter 有个md5 生成,生成前需要获取name ,password k ...

  2. 操作iframe的一些方法

    //父页面操作iframe里的内容 oInput.onclick=function(){ var oBox = oIframe.contentWindow.document.getElementByI ...

  3. jquery 更新值。。vue 如何监听?

    size.val(5); // 改变值 //触发 input 事件 ie11 下不能用 size[0].dispatchEvent(new Event('input'));   有些浏览器 不支持.. ...

  4. TcxGrid Column动态添加Image

    MyCol := TcxColumn.Create; ... MyCol.PropertiesClass := TcxImageProperties; ImageProps := TcxImagePr ...

  5. serv-U 7以上版本pasv端口的设置及中文乱码问题

    利用serv-u架设ftp服务器已经是再常见不过了事情了,近日一朋友为图新鲜,弄了个7.4版本的新玩意儿,结果架设上去后,仅开了21端口,用LeapFtp在port模式下连接没问题,但是另一常见的cu ...

  6. spring开发配置编码

    在pom.xml中添加属性project.build.sourceEncoding就可以设置工程的编码 <properties> <!-- 文件拷贝时的编码 --> <p ...

  7. Redis中String类型的Value最大可以容纳数据长度

    项目中使用redis存储,key-value方式,在Redis中字符串类型的Value最多可以容纳的数据长度是512M 官方信息: A String value can be at max 512 M ...

  8. 关于alibaba.fastjson的一些简单使用

    // 把JSON文本parse为JSONObject或者JSONArray public static final Object parse(String text); // 把JSON文本parse ...

  9. spring transaction 初识

    spring 事务初识 1.spring事务的主要接口,首先盗图一张,展示出spring 事务的相关接口.Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibern ...

  10. angular 学习笔记(3) ng-repeat遍历json并且给样式

    视图: <div ng-app="myapp" ng-controller="myctrl"> <ul> <li ng-repea ...