从零开发vue插件并发布到npm

首先打开D盘或者你想放置的文件夹,在命令行工具输入以下命令:
mkdir vue-plugin-example
cd vue-plugin-example
npm init -y

这样就会自动生成一个package.json文件。

 然后安装开发依赖

npm install vue --save
npm install --save-dev webpack webpack-cli vue-loader vue-template-compiler babel-loader @babel/core @babel/preset-env

文件夹就会变成下面这样

 可以看到自动生成了package-lock.json以及node_modules文件夹。下面就可以开发自己的插件内容了。

接下来我们新建一个src文件夹,并新增index.js文件。这个就是插件的入口文件。像这样:

 有一点需要注意,就是package.json的入口main默认是指向同文件夹的index.js。由于我们把入口文件放到了src下,所以这里需要改一下。

 改成这样:

 同时需要注意,package.json文件下的name就是供别人下载你的插件名称。这里:

 package.json下的version就是插件版本,每次发布补丁或者更新大的版本的时候别忘记更新version。因为发布的时候npm会校验版本是否变化,如果没有变化的话,npm就不会更新。

npm也提供了命令自动更新版本,例如修复bug可以使用

npm version patch

版本就会从1.0.0变成1.0.1。

 

发布新特性可以使用

npm version minor

版本就会从1.0.0变成1.1.0。

 

大的版本更新

npm version major

版本就会从1.0.0变成2.0.0。

接下来就是插件的内容开发了。index.js的内容如下:

复制代码
import Tag from '../packages/tag/index.js';

const components = [
    Tag
];

const install = function (Vue, opts = {}) {
    components.forEach(component => {
        Vue.component(component.name, component);
    });
};

if (typeof window !== 'undefined' && window.Vue) {
    install(window.Vue);
}

export default {
    install,
    Tag
};
复制代码

packages/tag/index.js的内容如下:

import Tag from './src/tag.vue';
Tag.install = function (Vue) {
    Vue.component(Tag.name, Tag);
}
export default Tag;

packages/tag/src/tag.vue的内容如下:

复制代码
<script>
export default {
  name: "Tag",
  props: {
    text: String,
    closable: Boolean,
  },
  methods: {
    close(e) {
      e.stopPropagation();
      this.$emit("close", e);
    },
    click(e) {
      this.$emit("click", e);
    },
  },
  render(h) {
    const classList = ["first_zhang_tagElement", "huating_fighter"];
    return (
      <span class={classList}>
        {this.$slots.default}
        {this.closable && <i class="zhang_tag_close" on-click={this.close}></i>}
      </span>
    );
  },
};
</script>
复制代码

这样,一个最简单的插件就开发完成了。

接下来就是如何发布到npm。首先需要有npm账号,如果没有就去注册一个。https://www.npmjs.com

这里我遇到了一个问题,就是我的npm是使用的镜像,可以用命令行查看一下当前连接的是否为npm.

npm config get registry

我的是https://registry.npmmirror.com/。如果不是npm执行以下命令:

npm config set registry https://registry.npmjs.org/

然后就是输入你的npm账号密码登录就行了。

最后就是执行命令发布你的插件。

npm publish

这里还有一个问题需要注意,就是确保你的插件名npm不存在,否则也会发布不成功。这也是npm为了确保插件唯一的保护措施。

posted on   hanguahannibk  阅读(12)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示