将vue2组件发布成一个npm包

vue2 编写自己的组件库,并发布到npm vue2编写自己的组件库,并发布到npm 阅读详情

参照
https://juejin.cn/post/6867798692460494861
v在这里插入图片描述
文件目录如上

1. npm init -y

2. src目录

index.js

import Toast from './toast.vue'

Toast.install = (Vue) => {
  Vue.prototype.$toast = (msg, duration) => {   //添加一个实例方法 这样全局的实例都可以调用$toast方法了 msg、duration是调用$toast时传入的两个参数
    if (!msg) {
      return;
    }
    duration = duration || 1500;  //如果不传toast持续时间则默认使用此时间
    const constroct = Vue.extend(Toast)  //构造器
    const instance = new constroct();   //创建实例
    instance.msg = msg || '';           //将$toast(msg,duration)中的msg传入组件的data中
    const tpl = instance.$mount().$el   //vue实例未挂载时可这样拿到它的dom 后续可对它的dom进行操作

    document.querySelector('body').appendChild(tpl);
    setTimeout(() => {
      document.querySelector('body').removeChild(tpl)
    }, duration);
  }
}

export default Toast;

toast.vue

<template>
  <div class="toast">{{msg}}</div>
</template>
<script>
export default {
  name: "Toast",
  data() {
    return {
      msg: ""
    };
  }
};
</script>
<style scoped>
.toast {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);

  width: fit-content;
  height: 44px;
  background-color: rgba(0, 0, 0);
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 10px;
  padding-right: 10px;
  color: #fff;
  border-radius: 5px;
}
</style>

pakage.json

{
  "name": "/* toast-component11 */",
  "version": "3.0.9",
  "description": "",
  "main": "dist/toast.js",
  "scripts": {
    "build": "webpack --mode production"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.11.5",
    "@babel/preset-env": "^7.11.5",
    "babel-loader": "^8.1.0",
    "css-loader": "^4.2.2",
    "style-loader": "^1.2.1",
    "vue-loader": "^15.9.3",
    "vue-template-compiler": "^2.6.12",
    "webpack": "^4.44.1",
    "webpack-cli": "^3.3.12"
  }
}

3.npm i

4. npm run build

5.npm pack(这一步主要是生成toast-component-1.0.0.tgz,为了在本地测试,可用可不用)

6. 发布包

先登录

设置源 npm config set registry https://registr.npmjs.org (如果是公司的源请自行更换)
npm login
npm adduser(这一步如果报错)

npm ERR! Unexpected token < in JSON at position 0 while parsing near ‘<!DOCTYPE HTML P
运行

// 顺序执行如下代码即可
npm config get proxy
npm config get https-proxy
npm config set registry https://registry.npmjs.org

正常之后输入你的npm的账号和密码
npm publish

项目中使用

yarn add toast-component11 
或者  npm install toast-component11  

main.js

import Toast from 'toast-component11'
Vue.use(Toast)

组件中使用

<template>
  <div class="hello">
    <div @click="showToast">点我出toast</div>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  data() {
    return {
    }
  },
  methods: {
    showToast() {
      this.$toast('hello world', 2000)
    }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="stylus">
</style>

vue封装组件,类似elementUI组件库打包发布到npm上 封装vue组件库的两种方法和形式: 一:是建立一个webpack-simple 项目 二:是在通过vue-cli脚手架建立webpack vue项目,这种项目有点冗余,可是我们对这种项目最熟悉 下面分别介绍两种用法: 一: 1.首先先建立一个vue项目: 通过vue init webpack-simple,新建项目目录如下: 箭头指的是在项目打包后产生的文件(打包命令npm ru... 阅读详情

相关推荐

发布vue3组件到npm

当你开发Vue 3应用程序时,有时你可能会需要将自己创建的组件发布到npm上,以便其他开发者可以轻松地在他们的项目中使用这些组件。本文将指导你如何将Vue 3组件发布到npm。

每天都要努力学习哦~~ 3527

vue2从0开始打包发布npm包,踩坑无数,完整版

初始化的package.json中“name”参数就是要发布的npm包的名字,必须是唯一的,可以去npm官网搜一搜有没有重名的;三、假设两个.vue文件就是我们想要打包的组件,我们要先将他们暴露出去,在项目的根目录(src同级)或src/components文件夹中新建一个文件index.js。这时候,项目就成功启动起来了,打开链接 http://localhost:8080 ,就可以看到我们的项目了。按回车后,大概需要5分钟,甚至更久,才会新建成功,慢慢等待。至此成功,真是踩了无数的坑!

qq_45624939的博客 4843

Vue3 + Vite 构建组件库发布到 npm

这篇文章介绍了如何使用Vue3和Vite构建组件库并发布到npm,包括初始化项目、配置项目结构、创建组件目录、设置入口文件以及导出组件等步骤。

白雾茫茫丶 3505

vue2 项目搭建

web

qq_41283785的博客 459

npm发布自己的组件UI包(详细步骤,图文并茂)

目前做前端项目,一直采用的方式去引用别人的组件包,调用方法。其实在开发中,每个开发者基本都写过单独的组件,如何让自己的组件能够重复的利用,如何让别人也享受到您的成果,这里将一步一步地介绍如何通过npm来发布组件包。

大剑师兰特的GIS世界 3936

基于vueCli2发布一个vue组件的npm包

文章目录初始化项目完善内容编写组件编写指令统一导出发布前准备generator-standard-readme完善`package.json`文件本地包测试发布到npm 这篇文章主要记录了从零发布一个vue的npm包(包含一个简单的指令和一个vue组件)的实践过程及些许心得。 初始化项目 这里我们通过@vue/cli拉取简单配置的模板来初始化一个2.X的项目,不了解的同学可以看下vueCli3...

610

vue-cli ,vue2项目的完整搭建,新建,配置,路由配置,API封装,到打包上线

发现当我重新开发一个项目的时候,偶尔会忘记某些步骤,所以做个整理便于以后查看!项目开始的时候当然是做技术选型,还有用什么框架啊,插件啊,都先设计好,这样在开发过程中也不会太曲折! 项目搭建的过程,在本文中划分为6个部分 安装node,安装全局vue,安装vue-cli检查安装是否成功 因为个人习惯这里用vue2来举例,新建一个文件夹,进入到文件夹,命令行输入如下图所示:安装 进入项目:启动项目:浏览器打开: 这时候项目就新建完成啦~可以开始进行创作 附加:vue项目目录讲解 最常用的是esline配置

lin_s_c的博客 8796

发布一个vue封装的组件npm包,vue天气组件

构建一个 Vue 组件项目 开发vue组件使用webpack-simple vue init webpack-simple free-time-ui 项目目录结构: . ├── src/ // 源码目录 │ ├── packages/ // 组件目录 │ │ ├──avatar.vue ...

流水日常,不做大论 1303

基于 vue2 发布 npm包

基于vue2项目,新建组件,发布npm包

一直记录 1338

NLP实战:如何用CoNLL-2003数据集快速提升命名实体识别模型性能(附完整代码)

本文详细介绍了如何利用CoNLL-2003公开数据集,通过深度剖析数据特点、构建鲁棒的数据预处理流水线、选择合适的模型架构(如BERT-CRF)以及优化训练策略,来系统性地提升命名实体识别(NER)模型的性能。文章提供了完整的代码示例,并分享了处理数据不均衡、标签对齐等核心挑战的实战技巧,帮助读者从理论到实践全面掌握NER任务。

cola5的博客 494

当AI换脸遇上内容审核:Facefusion NSFW检测的技术伦理与用户自主权之争

本文探讨了Facefusion开源AI换脸工具中NSFW检测机制的技术伦理困境与用户自主权之争。分析了其多层次防御机制的技术实现与社区规避方法,揭示了开源软件在安全与自由之间的平衡难题,并提出了分层权限设计等社区实践方案。

weixin_29165725的博客 684

如何制作并发布一个vue的组件的npm包

前提:1.会vue基础,以及vue的组件(官网:https://cn.vuejs.org/v2/guide/components.html)相关的基础。 因为本文主要是讲如何把一个vue组件做成npm包并发布。 分为2大步骤: 一.按照相应格式写我们的vue代码(就如同写一个jquery插件时、有其固定的格式一样)。 二.发布到npm上的流程 一、书写一个vue组件 不用脚...

hamupp的博客 2万+

SAR ADC设计——SAR Logic原理

SAR ADC设计——SAR Logic原理 参考:集成电路设计实践 SAR ADC 清华大学 李福乐 文章目录SAR ADC设计——SAR Logic原理一. Overview二. TSPC(True Single Phase Clock)三. SC_Gen(Sequential Control Generator)四. LATCH_Dynamic五. 时序控制逻辑总结六. SW产生七. DO产生八. GT产生九. SAR Logic模块总结 一. Overview 输入:CKC,CompB,SAMPL

夏风喃喃的博客 1万+

将vue组件发布成npm包

将vue组件发布成npm包

Yu_Jian_Qt的博客 2962

安装Anaconda和Labelme的教程

1 登录Anaconda官网,选择Download https://www.anaconda.com/distribution/ 2 选择你想下载的Python版本,选择你的操作系统和位数,然后点击Download按钮就开始下载了 3 开始安装 下面两个框框都勾选 点击next,等待安装成功 打开Anaconda Navigator 点击红色圈圈的按钮 在cmd中输入 (1)创建虚拟环境 conda create -n labelme python=3.6 (2)激活虚拟环境 conda activa

qq_42178122的博客 3811

稳定性性能系列之十五——系统稳定性监控体系建设:从指标到预警的完整方案

深入探讨Android系统稳定性监控体系的设计与实现,涵盖指标体系设计、数据采集方案、异常检测算法、预警响应机制,并提供完整的监控平台搭建实践。

Cheson的专栏 1358

Vue2封装一个全局通知组件并发布到NPM

学完本篇文章,你将学会如何封装一个全局消息组件,并学会发布你编写的组件到互联网,这是很有`成就感`的事情哦,快学起来吧!

很高兴你能看到这里 4274

UG NX二次开发(C#)--详细讲述编程模板NXOpen_CS_Wizard的代码意义,帮你轻松进入NXOpen(C#)二次开发

有几个读者私信问我,在看了“NX1957在VS2019上二次开发的环境配置”后,能完成了UG NX二次开发(C#)模板的配置,也能根据模板创建工程,但是对工程文件.cs不甚理解;并且,在UG Styler新建完成后,其也有一个dlx文件和.cs文件,也不清楚怎么使用。本文先对UG NX二次开发(C#)模板文件进行讲解,在下一个博客中,讲解Styler新建后的模板文件。以上就是对编程模板NXOpen_CS_Wizard(c#)的讲解,其实只要明白了逻辑关系,编程实现只是时间问题,祝你好运。

GimiGimmy 1786

制作并发布一个Vue组件npm包

制作并发布一个Vue组件npm包 本人以前从来没有发不过npm包,所以写此篇文章用来记录发布一个npm包的步骤,当然也借鉴了网友的操作步骤,此篇文章用来作为一个笔记记录。 整个的基础的目录结构是: 创建Vue组件 本地创建一个项目文件,进入文件中 执行 npm init 按照提示输入即可,文件中生成package.json文件 相信很对人对于package.json的配置是相当熟练了 对于...

guyue_01的博客 3628

AI上推荐 之 NeuralCF与PNN模型(改变特征交叉方式)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 1万+

机器学习初探——用线性回归预测股价趋势

在进入代码之前,先建立一个大框架。类型一句话解释金融中的应用监督学习给机器“标准答案”让它学预测股价(历史数据→未来价格)无监督学习不给答案,让机器自己找规律把相似股票自动归类、发现异常交易强化学习让机器通过“试错”学习最优策略AI自动交易、量化策略优化我们现阶段只学“监督学习”——这是最常用、最容易上手的。准备一堆“特征”和对应的“标签”(比如:历史的第N天 → 那天的价格)喂给机器一个“算法”(比如线性回归)机器“拟合”出一个规律(比如找到一条最合适的直线)

109

使用vite构建Vue3组件库,发布npm包

在国内用vue框架开发的是非常之多的,使用vue开发组件封装是一个很普片的事情了,封装好一个组件可以在项目的任意地方去使用,我们还可以从npm仓库下载别人封装的组件进行使用,比如element-ui,vant等组件库,但是由于不同的公司,不同的网站风格,是我们在开发中还是得自己封装自己的组件,要想在不同项目上使用自己封装的组件,不可能去旧项目复制组件代码到新的项目里面去。标签,也可以不用setup语法糖,还可以使用插件解决,这里就不说是什么插件了,首先我们在打包好的muk-ui目录下,打开终端,然后执行。

y227766的博客 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

如何发布自己的npm包(vue组件)

如何在上发布自己的第一个组件库,是每一名前端开发人员必经的进阶之路,本文将结合作者的实践项目,为各位读者详细讲解所有的操作步骤,相信你在阅读本文后,就能立马动手。由于本文的主要目的是讲解如何创建组件库并发布到,因此对于组件的创建会一笔带过。打开在项目中输入一下命令初始化一个的项目,名称自定义 在src的同级目录下新建一个名称为的组件库,如图所示 是新增的一个目录,默认不被处理,所以需要在里面配置组件库,以便编译,没有的话,就在目录下新建一个。并在填入一下内容 3.编辑自定义组件库 以为例子,你们可以依照自己

m0_48230043的博客 3512

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

npm 上传发布自定义组件以及使用详细流程(Vue包含)

Vue 自定义全局UI组件Vue 全局导入 JS 文件npm 删除(废弃)发布包或版本前端开发经常需要使用到 npm 安装第三方库,那么如何将自己写的库上传到 npm 进行使用呢?如果在项目中使用到依赖包,可以先了解一下npm 命令使用介绍以及区别,里面有对安装依赖包的详细介绍UI。

卡尔特斯 1万+

Vue封装组件并发布到npm仓库

在Vue框架的开发实践中,组件封装是一项核心技能,它极大地促进了代码的复用性和可维护性。通过封装组件,我们能够创建出高度模块化的UI元素,这些元素不仅能在项目内部灵活应用,还能通过npm这样的包管理工具分享给更广泛的开发者群体,如iview、element-ui等流行的Vue UI组件库正是这一理念的体现。然而,每个企业的业务逻辑和界面设计都有其独特性,这意味着即便有现成的组件库,开发人员也往往需要根据具体需求定制或封装新的组件。这不仅增加了维护的复杂度,还可能导致代码在不同项目中失去同步。

qq_63497385的博客 2594
上一篇: vue3中使用ref
下一篇: vue中动态添加两个类名
KAGHQ
博客等级 码龄7年 171粉丝 321原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值