教程:基于Verdaccio搭建一个私有化 Npm 库, 并上传本地Vue组件库

本文主要是介绍教程:基于Verdaccio搭建一个私有化 Npm 库, 并上传本地Vue组件库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

教程:基于Verdaccio搭建一个私有化 Npm 库, 并上传本地Vue组件库

开发环境:
1、Node.js (v12.18.3)
2、Vue CLI (v4.5.12)
3、Verdaccio (v4.12.0)

一、创建Vue项目

可以自行使用vue CLI (3.x以上)或其他IDE来创建新的vue 3项目。

1、安装vue cli。

  使用命令行安装: npm install -g @vue/cli

   (注意:先把npm的源设置为淘宝源)

2、创建vue项目。

  (1)使用vscode打开一个空的文件夹。

  (2)在终端输入:vue create my-app

     选择默认 vue2 并敲击回车(vue 3也可以)


在这里插入图片描述

在这里插入图片描述

3、运行。

  (1)在终端输入:cd my-app
  (2)在终端输入:yarn serve

在这里插入图片描述
在这里插入图片描述

二、搭建私有化 Npm 库

1、安装verdaccio

  在终端输入: npm install -g verdaccio

2、运行

  在终端输入: verdaccio

在这里插入图片描述
在这里插入图片描述

三、上传组件库

1、修改vue项目的包结构

   将src文件夹重命名为examples(存放测试用例).
   在项目根目录下新建packages(存放组件库代码)

在这里插入图片描述

2、修改vue.config.js文件

   在项目根目录下新建一个vue.config.js文件,内容如下:

// vue.config.js
const path = require('path')
function resolve (dir) {return path.join(__dirname, dir)
}module.exports = {// 修改 入口文件夹为 pagespages: {index: {entry: 'examples/main.js',template: 'public/index.html',filename: 'index.html'}},chainWebpack: config => {// 设置文件夹别名config.resolve.alias.set('@', resolve('./examples'))  // 注意路径不能为 __dirname + './example'这种形式.set('~', resolve('./packages'))// 设置编译规则config.module.rule('js').include.add(resolve('./packages')).end().use('babel').loader('babel-loader').tap(option => option)}}

3、组件库示例代码

   (1)在 /packages 下创建:baseInput文件夹、index.js。
   (2)在 /packages/baseInput 下创建:src文件夹、index.js。
   (3)在 /packages/baseInput/src 下创建:baseInput.vue。
在这里插入图片描述

  (4)代码如下:
----> /packages/baseInput/src/baseInput.vue

<template><div>baseInput: <input v-model="msg"/></div>
</template>
<script>
export default {name: 'baseInput',data () {return {msg: 'i am a component.'}}
}
</script>

----> /packages/baseInput/index.js

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

----> /packages/index.js

import baseInput from './baseInput'const install = function (Vue) {if (install.installed) return// 注册组件Vue.use(baseInput)install.installed = true
}export default {install,baseInput
}

4、测试组件

   (1)在/examples/main.js文件中注册组件:

// /example/main.js
import baseInput from '~'
Vue.use(baseInput)

   (2)在/examples/App.vue文件中使用组件:<baseInput></baseInput>
      启动项目,如果页面出现输入框,则表示组件使用正常。

5、修改package.json

   version 改为 0.1.1
   private 改为 true
   main 设置为 packages/index.js(这是外界引入的入口)

{"name": "my-app","version": "0.1.1",			// 版本号改为: '0.1.1'"private": false,				// 改为 false"main": "packages/index.js",	// 外界引入文件入口设为 packages/index.js...
}

6、上传到私有npm库

   (1)终端输入:npm adduser --registry http://localhost:4873

   按照提示输入完毕。

   (2)终端输入:npm publish --registry http://localhost:4873

在这里插入图片描述

四、测试组件库

1、yarn安装

   终端输入:yarn add my-app --registry http://localhost:4873

2、测试组件

   修改example/main.js文件:

// example/main.js
// - import baseInput from '~'
+ import baseInput from 'my-app'
Vue.use(baseInput)

   启动项目。出现输入框。成功!

在这里插入图片描述

这篇关于教程:基于Verdaccio搭建一个私有化 Npm 库, 并上传本地Vue组件库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/601267

相关文章

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二