npm发布组件(vue3+webpack)

ops/2025/1/18 4:03:01/

1.初始化Vue项目

vue create my-app

2.本地运行

npm run serve 

3.新增目录和文件 


1. src/package/index.js

2. src/package/wlz-btn/index.vue
3. src/package/wlz-input/index.vue

// src\package\index.js
import WlzBtn from "./wlz-btn";
import WlzInput from "./wlz-input";const componentList = [WlzBtn, WlzInput];const install = function (Vue) {componentList.forEach((com) => {Vue.component(com.name, com);});
};export default install;

<!-- src\package\wlz-btn\index.vue -->
<template><button class="wlz-btn">你好呀</button>
</template><script>
export default {name: "WlzBtn",
};
</script><style scoped>
.wlz-btn {background-color: #4caf50;color: white;padding: 15px 32px;text-align: center;text-decoration: none;display: inline-block;font-size: 16px;margin: 4px 2px;cursor: pointer;
}
</style>
<!-- src\package\wlz-input\index.vue -->
<template><input type="text" class="wlz-input" />
</template><script>
export default {name: "WlzInput",
};
</script><style scoped>
.wlz-input {padding: 10px;border: 1px solid red;border-radius: 4px;box-sizing: border-box;
}
</style>

4.本地测试

<!-- src\App.vue -->
<template><div><p>111</p><WlzBtn /><WlzInput /><p>222</p></div>
</template><script>
import WlzBtn from "@/package/wlz-btn";
import WlzInput from "@/package/wlz-input";export default {name: "App",components: {WlzBtn,WlzInput,},
};
</script><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>

5.打包

 "package": "vue-cli-service build --target lib ./src/package/index.js --name wlz-component-ui --dest wlz-component-ui"

npm run package

6.发布(注意!!要进入新生成的目录操作即:wlz-component-ui)

cd .\wlz-component-ui\
npm init -y
{"name": "wlz-ui","version": "1.0.0","main": "wlz-ui.common.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "","license": "ISC","description": "我的ui组件库"
}
npm adduser

 按回车登录

发布 

npm publish

 

7使用

npm i wlz-component-ui
// src\main.js
import { createApp } from "vue";
import App from "./App.vue";
import WlzComponentUI from "wlz-component-ui";
import "wlz-component-ui/wlz-component-ui.css";const app = createApp(App);
app.use(WlzComponentUI);app.mount("#app");
<!-- src\App.vue -->
<template><div><p>1111</p><WlzBtn /><WlzInput /><p>222</p></div>
</template><script>
export default {name: "App",
};
</script><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>


http://www.ppmy.cn/ops/150991.html

相关文章

海康MV-EB435i立体相机SDK安装(ROS 2)

文章目录 一、简介二、驱动配置小结 一、简介 MV-EB435i相机是一款低成本、小体积、配置全面的立体相机&#xff0c;凭借硬件级的深度图像处理方案&#xff0c;相机可在高性能输出的同时维持低功耗的水平。相机采用海康MV3D SDK&#xff0c;并提供跨平台支持&#xff0c;广泛应…

【MyDB】3-DataManager数据管理 之 4-数据页缓存

【MyDB】3-DataManager数据管理 之 3-数据页管理 页面缓存设计与实现PageImpl页面定义getForCache() 文件中读取页面数据releaseForCache() 驱逐页面AtomicInteger 记录当前打开数据库文件页recoverInsert()和recoverUpdate() 参考资料 本章涉及代码&#xff1a;top/xianghua/m…

工业视觉2-相机选型

工业视觉2-相机选型 一、按芯片类型二、按传感器结构特征三、按扫描方式四、按分辨率大小五、按输出信号六、按输出色彩接口类型 这张图片对工业相机的分类方式进行了总结&#xff0c;具体如下&#xff1a; 一、按芯片类型 CCD相机&#xff1a;采用电荷耦合器件&#xff08;CC…

【PGCCC】PostgreSQL 临时文件的使用

临时文件 某些查询操作&#xff08;例如sort或hash表&#xff09;需要一些内存功能。此内存由运行时配置提供work_mem。 来自官方文档work_mem work_mem (整数) 设置在写入临时磁盘文件之前查询操作&#xff08;例如排序或哈希表&#xff09;使用的基本最大内存量。 请注意&…

C# OpenCV机器视觉:图片去水印

阿强是个不折不扣的动漫迷&#xff0c;最近他疯狂迷上了一部超火的老动漫&#xff0c;每天茶不思饭不想&#xff0c;心心念念就盼着能多看几集。然而&#xff0c;他在网上找到的资源却像是调皮孩子脸上的脏手印&#xff0c;布满了各种乱七八糟的水印&#xff0c;这可把阿强给郁…

HTTPS与HTTP:区别及安全性对比

目录 一、基础概念 二、安全性对比 1. 加密传输 2. 身份验证 3. 数据完整性 4. 端口 5. 浏览器展示方式 三、使用场景与性能 1. 使用场景 2. 性能开销 四、成本与维护 五、搜索引擎优化&#xff08;SEO&#xff09; 六、案例分析 七、隐私保护与中间人攻击 八、…

Debian没有reboot命令记录

在安装服务并按照官方推荐的方式安装 Debian 系统时&#xff0c;发现无法使用 reboot 命令。经过一番排查&#xff0c;发现问题的根源在于系统环境变量中未包含常用命令所在的路径。具体来说&#xff0c;/sbin/ 和 /usr/sbin/ 目录通常包含系统管理命令&#xff0c;而这些路径默…

高级Python Web开发:FastAPI的前后端集成与API性能优化

高级Python Web开发&#xff1a;FastAPI的前后端集成与API性能优化 目录 &#x1f6e0;️ 前后端集成的基本原理与实践&#x1f680; FastAPI的API设计与实现&#x1f4c8; API性能测试与负载测试 &#x1f4ca; 使用Locust进行API性能测试&#x1f4a5; 使用Apache JMeter进…