IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 如何写vue3的插件并上传npm【非常简单】 -> 正文阅读

[JavaScript知识库]如何写vue3的插件并上传npm【非常简单】

最近想要做一些vue的插件练一下手,于是现在需要解决的问题有两个。一个是怎么写vue的插件,一个是写完后怎么上传npm。

一、如何写一个vue插件

首先在进行插件创作的时候,先建立一个普通的vue项目进行编写。

vue create vue-button-z

然后创建plugins文件夹,和plugins下的lib文件夹,在lib文件夹下写你的插件代码
在这里插入图片描述

1.插件代码编写

这是button.vue 文件示例,就像写普通vue组件一样,根据你的需求写

// button.vue
<template>
  <button :style="style">
    <slot>button</slot>
  </button>
</template>
<script>
export default {
  name: 'ta-button', //你的组件名称,使用此名称全局挂载
  props: {
    type: {
      type: String,
      default: 'primary',
    },
    size: {
      type: String,
      default: 'default',
    },
  },
  setup(props) {
    const Colors = {
      primary: '#477bec',
      warning: '#ffc400',
      danger: '#ff7300',
      info: '#cfcfcf',
    }
    const Sizes = {
      small: '2px 10px',
      default: '6px 14px',
      large: '8px 20px',
    }
    console.log('size:', props.size, 'type:', props.type)
    const style = {
      backgroundColor: Colors[props.type],
      padding: Sizes[props.size],
      color: '#fff',
      fontSize: '14px',
      borderRadius: '4px',
    }
    return { style }
  },
}
</script>
<style scoped>
button {
  border: none;
  outline: none;
}
</style>

2.plugins/index.js文件的编写

插件的代码写完后,对index.js进行编写

import TaButton from './button/button.vue'

export default {
  install: (app) => {
  	//挂载全局变量或方法
    app.config.globalProperties.$hello = 'hello! Think for using my plugin'
    //全局挂载组件
    app.component(TaButton.name, TaButton)
    //使用依赖注入
    app.privide('age','18')
    //自定义指令
    //app.directive('my-directive', {
    //  mounted (el, binding, vnode, oldVnode) {
        // some logic ...
    //  }
    //})
  }
}

到此为止,关于插件编写的部分就结束了,还差一步就能发布了,那就是测试。

3.简单测试代码

main.js文件中引入自己的插件

import { createApp } from "vue";
import App from "./App.vue";
import MyPlugin from './plugins'
//MyPlugin 就是我们编写的插件
createApp(App).use(MyPlugin).mount("#app");

尝试使用

<template>
  <ta-button type="danger" size="small"> small </ta-button>
  <ta-button type="primary"> default </ta-button>
  <ta-button type="warning" size="large"> large </ta-button>
</template>

成功运行
在这里插入图片描述

我们已经可以准备发布自己精心编写的程序到npm上供别人使用了。

二、发布npm

另起一个空白的文件夹,只放如下文件
在这里插入图片描述
然后编写README.md文件,这个就不示例了。
重要的是编写package.json 文件,示例如下

{
  "name": "vue-button-tang", //你的包的名称
  "version": "0.0.1",  //版本
  "description": "vue plugins", //详细的描述
  "main": "index.js", //入口文件
  "directories": {  //源码地址
    "lib":"lib"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "vue3"
  ],
  "author": "tinytang", //作者
  "license": "ISC"
}

很好,本地的工作已经做好的,现在你需要一个npm账号,进入下面的网址注册一个https://www.npmjs.com/
注册之后记得进行邮箱验证,不然会报403错误
在这里插入图片描述

然后将npm的源换回npmjs,一般来说我们都会设置为淘宝的源,如果不换回来可能会报错。

npm install -g nrm
nrm use npm

一切准备就绪,只差一个命令

npm publish

这样你的插件的上传成功了。可以尝试在npm网站上搜索,也可以尝试自己安装一下自己的包,看看能不能用。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-23 15:40:27  更:2021-12-23 15:40:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:58:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码