iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > 其他 >Vue3如何搭建Monorepo项目组件库
  • 671
分享到

Vue3如何搭建Monorepo项目组件库

Vue3monorepo 2023-05-20 17:05:41 671人浏览 独家记忆
摘要

什么是 Monorepo其实很简单,就是一个代码库里包含很多的项目,而这些项目虽然是相关联的,但是在逻辑上是独立的,可以由不同人或者团队来维护为什么要用 pnpm对于 Monorepo 项目,使用 pnpm 进行包管理非常方便。因为对于我们

什么是 Monorepo

其实很简单,就是一个代码库里包含很多的项目,而这些项目虽然是相关联的,但是在逻辑上是独立的,可以由不同人或者团队来维护

为什么要用 pnpm

对于 Monorepo 项目,使用 pnpm 进行包管理非常方便。因为对于我们即将开发的组件库来说可能会存在多个 package(包),而这些包在我们本地是需要相互关联测试的,刚好 pnpm 就对其天然的支持。其实像其它包管理工具,比如 yarn、lerna 等也能做到,但是相对来说比较繁琐。而 pnpm 现在已经很成熟了,像 Vant,ElementUI 这些明星组件库都在使用 pnpm,因此本项目也采用 pnpm 作为包管理工具。

pnpm 的使用

安装

npm install pnpm -g

初始化项目

在项目根目录执行 pnpm init,会自动生成package.JSON文件

{
  "name": "easyest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keyWords": [],
  "author": "",
  "license": "ISC"
}

包管理

我们新建一个 packages 文件夹用于后续来存放我们的各种包。假如我们有了 a 包和 b 包,在 packages 下新建 a 和 b(这里用于测试 pnpm 的本地引用),然后分别在 a 和 b 目录下执行pnpm init初始化

这里需要改一下包名,我这里将 name 改成@easyest/a 表示这个 a 包是属于 easyest 这个组织下的。在发布之前,请确保已经登录到 npm,并创建一个组织,例如 easyest。比如此时 a 的 package.json

{
  "name": "@easyest/a",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

这里我们的 a 包代表工具包,而 package.json 的 main 属性就是包的入口即 index.js。

所以在 a 目录下新建 index.js

export default () => {
  console.log("我是@easyest/a包");
};

然后在 b 包下新建 index.js 进行引用

import sayHello from "@easyest/a";
sayHello();

Vue3如何搭建Monorepo项目组件库

p>我们用到了 a 包,所以需要先安装 a,在 B 目录下执行pnpm add @easyest/a,显然这样会报错的,因为我们还没有将两个包进行关联,那么如何进行关联呢,其实很简单

在根目录新建 pnpm 的工作区文件 pnpm-workspace.yaml 就可以将包进行关联

packages:
    - 'packages/**'

这样就表示 packages 目录下的所有包都被关联了,然后再执行pnpm add @easyest/a

Vue3如何搭建Monorepo项目组件库

注意这里我们使用了 import es6 语法,所以我们要在 A 和 B 的package.json中新增字段"type": "module"

我们会发现直接在 b 目录的 node_modules 出现了 a 的软链接。同时,b的package.json的依赖字段多了"@easyest/a": "workspace:^1.0.0",这就表示已经关联到本地的@easyest/a包了

Vue3如何搭建Monorepo项目组件库

这时候我们在 b 目录下执行

node index.js

Vue3如何搭建Monorepo项目组件库

此时我们便完成了本地包的关联,以后进行包的测试就变得更加方便了

以上就是vue3如何搭建Monorepo项目组件库的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: Vue3如何搭建Monorepo项目组件库

本文链接: https://www.lsjlt.com/news/214703.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue3如何搭建Monorepo项目组件库
    什么是 Monorepo其实很简单,就是一个代码库里包含很多的项目,而这些项目虽然是相关联的,但是在逻辑上是独立的,可以由不同人或者团队来维护为什么要用 pnpm对于 Monorepo 项目,使用 pnpm 进行包管理非常方便。因为对于我们...
    99+
    2023-05-20
    Vue3 monorepo
  • Vue3从0搭建Monorepo项目组件库
    目录引言什么是 Monorepo为什么要用 pnpmpnpm 的使用安装初始化项目包管理引言 本篇文章是从0搭建Vue3组件库系列文章第二篇,本篇文章将带领大家使用pnpm搭建一个...
    99+
    2023-02-17
    Vue3搭建Monorepo组件库 Vue3搭建Monorepo
  • Vue3 企业级组件库框架搭建 pnpm monorepo实战示例
    目录引言1 组件库工程应该具备的功能2 环境准备3 搭建 monorepo 项目3.1 创建项目3.2 配置 workspace引言 基于 vite3 vue3 的组件库基础工程&n...
    99+
    2022-11-13
    Vue3 组件库搭建pnpm monorepo Vue3 pnpm monorepo
  • 从0搭建vue3组件库Input组件
    目录基础用法禁用状态尺寸继承原生 input 属性可清空密码框 show-password带 Icon 的输入框文本域可自适应高度文本域复合型输入框总结源码地址本篇文章将为我们的组件...
    99+
    2022-11-16
    vue3组件库Input组件 vue3组件库 vue3 Input组件 从0搭建vue3组件库
  • 如何从零开始搭建vue3项目
    这篇文章主要介绍了如何从零开始搭建vue3项目的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何从零开始搭建vue3项目文章都会有所收获,下面我们一起来看看吧。说明记录一次Vue3的项目搭建过程。文章基于 vu...
    99+
    2023-07-02
  • 从0搭建Vue3组件库之如何使用Vite打包组件库
    目录打包配置声明文件本篇文章将介绍如何使用 vite 打包我们的组件库,同时告诉大家如何使用插件让打包后的文件自动生成声明文件(*.d.ts) 打包配置 vite 专门提供了库模式的...
    99+
    2023-03-07
    Vite打包组件库 vue3 Vite打包组件库
  • vue3组件库Shake抖动组件搭建过程详解
    目录正文CSS样式组件逻辑单元测试导出打包发布正文 先看下效果 其实就是个抖动效果组件,实现起来也非常简单。之所以做这样一个组件是为了后面写Form表单的时候会用到它做一个规则校验...
    99+
    2022-11-13
    vue3 Shake抖动组件库搭建 vue3 Shake
  • vue项目如何引用组建库
    Vue是当今互联网开发中非常流行的一套前端框架,其组件化的开发方式能够有效地提高项目的可维护性和开发效率。在Vue项目开发中,我们经常会使用一些第三方的组件库来快速构建各种交互和页面元素。本文将介绍如何在Vue项目中引用组件库。一、常用的组...
    99+
    2023-05-20
  • Vue3+script setup+ts+Vite+Volar搭建项目
    目录使用 Vite 创建 vue + ts 项目Vue 3 的三种语法Option APIComposition APIscript setup(Composition API 的语...
    99+
    2024-04-02
  • 如何搭建react+ts组件库
    本篇内容介绍了“如何搭建react+ts组件库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!整体需求react组件库,取名r-ui,能够导出...
    99+
    2023-06-30
  • 如何搭建BootStrap项目
    这篇文章主要介绍了如何搭建BootStrap项目,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、环境搭建中文官网下载地址:http://w...
    99+
    2024-04-02
  • 如何搭建vue3.0项目
    这篇文章主要为大家展示了“如何搭建vue3.0项目”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何搭建vue3.0项目”这篇文章吧。一、我们要确保vue/cli版本在4.5.0以上,才能更好的...
    99+
    2023-06-22
  • Vue3组件库的环境配置搭建过程
    目录搭建一个基于 vite 的 vue3 项目安装插件配置 vite.config.ts新建入口 html 文件app.vue入口 main.ts配置脚本启动项目本篇文章将在项目中引...
    99+
    2023-03-03
    Vue3 组件库配置 Vue3 组件库 vue3环境配置
  • 从0搭建Vue3组件库如何使用 glup 打包组件库并实现按需加载
    目录使用 glup 打包组件库并实现按需加载自动按需引入插件删除打包文件使用 gulpgulp 打包样式打包组件使用 glup 打包组件库并实现按需加载 当我们使用 Vite 库模式...
    99+
    2023-03-23
    glup 打包组件库按需加载 vue3 glup 打包 vue打包组件库
  • vue+qiankun项目如何搭建
    这篇文章主要介绍了vue+qiankun项目如何搭建的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue+qiankun项目如何搭建文章都会有所收获,下面我们一起来看看吧。一、cli3构建vue2项目前期工作:...
    99+
    2023-07-05
  • Angular7如何创建项目、组件、服务
    这篇文章主要介绍了Angular7如何创建项目、组件、服务,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。创建项目首先安装cli工具npm&n...
    99+
    2024-04-02
  • 如何搭建Spring Boot项目
    这篇文章主要讲解了“如何搭建Spring Boot项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何搭建Spring Boot项目”吧!Spring Boot 概述Spring 框架,作...
    99+
    2023-06-05
  • IDEA如何搭建jsp项目
    这篇文章给大家分享的是有关IDEA如何搭建jsp项目的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。IDEA搭建jsp环境为了方便在IDEA中集成tomcat环境搭建好WEB的jsp项目先讲解原理:首先在IDEA中...
    99+
    2023-06-15
  • Vue3 携手 TypeScript 搭建完整项目结构
    目录一、项目搭建二、Option API风格三、Composition API风格refreactive四、自定义Hooks五、小建议 六、一个完整的Vue3+ts项目 七...
    99+
    2024-04-02
  • Vue3项目搭建的详细过程记录
    目录一、前言二、搭建准备三、搭建项目四、启动项目总结一、前言 在2020年的9月19日,万众期待的Vue3终于发布了正式版,命名为“One Piece”。 它...
    99+
    2022-11-13
    vue3项目搭建流程 vue3项目 Vue项目搭建
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作