首页 > 其他分享 >使用{ "dependencies": { "my-component-library-b": "workspace:^" } } 这种方式

使用{ "dependencies": { "my-component-library-b": "workspace:^" } } 这种方式

时间:2024-03-24 10:11:35浏览次数:24  
标签:成库 component library dependencies workspace 组件 my

在使用 {"dependencies": {"my-component-library-b": "workspace:^"}} 方式引用组件库 B 时,由于 B 包是作为工作区的一部分,因此在这种情况下,你不需要将 B 包预先打包成库文件(如UMD、CommonJS或ES模块格式)。
Yarn Workspaces 可以直接解析和链接工作区内的依赖。

这意味着,业务包 A 可以直接引用组件库包 B 的源代码,而非编译后的库文件。这样做的好处是可以享受到工作区带来的开发便利性,比如实时的热更新、共享依赖等。

然而,当业务包 A 需要发布到生产环境时,你需要确保组件库 B 已经被打包并准备好分发(例如通过npm publish发布到私有或公共npm仓库)。
此时,在发布版的业务包 A 的 package.json 中,应将对组件库 B 的引用改为发布的包名和版本号,而非 "workspace:" 引用。

在开发阶段,可以这样引用:

// packages/A/package.json
{
  "dependencies": {
    "my-component-library-b": "workspace:^"
  }
}

而在发布阶段,需要将依赖更改为:

// packages/A/package.json(发布版)
{
  "dependencies": {
    "my-component-library-b": "^x.y.z"
  }
}

其中 ^x.y.z 是组件库 B 发布到npm仓库后的版本号。

标签:成库,component,library,dependencies,workspace,组件,my
From: https://www.cnblogs.com/longmo666/p/18092125

相关文章

  • cmake之find_library使用问题
    附上工程源码demo工程PS:这个工程用于导出库CMakeLists.txtcmake_minimum_required(VERSION3.5)project(demoLANGUAGESCXX)set(CMAKE_INCLUDE_CURRENT_DIRON)set(CMAKE_CXX_STANDARD11)set(CMAKE_CXX_STANDARD_REQUIREDON)add_library(demoSHAREDdemo.cpp......
  • vue3 动态编译组件失败:Component provided template option but runtime compilation
    根据vue3官方文档路由,写了如下一个简单的页面来模拟路由的实现。为了减少*.vue文件的个数,在这个但页面中,使用defineComponent通过object定义组件。<scriptsetup>import{ref,computed,defineComponent}from'vue'constHome=defineComponent({template:`......
  • Camunda问题:src-resolve: Cannot resolve the name ‘extension‘ to a(n) ‘element
    问题描述今天,小伙伴在使用云程低代码平台创建流程模板时,出现了报错,如下图:后台堆栈信息如下:ENGINE-16004Exceptionwhileclosingcommandcontext:ENGINE-09005CouldnotparseBPMNprocess.Errors:*src-resolve:Cannotresolvethename'extension'toa(n)'ele......
  • 使用PureComponent进行自动优化
    在React应用中,性能优化是一个重要的环节,尤其是对于企业级的电子商务系统来说,良好的用户体验直接关联到用户留存和转化率。PureComponent是React提供的一个工具,能帮助我们在一些场景下自动进行性能优化。接下来,我将通过简单易懂的语言解释PureComponent是什么,它如何工作,以及如何......
  • Antd+ProComponent管理系统中的部分业务封装
    本文记录在我司后台管理系统中,自己对部分业务的一些封装。业务封装涉及的技术栈为Antd+ProComponent+zustand权限由于此项目的权限精度并没那么高,后台采用ACL权限控制而不是RBAC,仅根据角色来判断权限,因此可能无法适配所有业务场景,但是可以参考思路。此处封装了两个权限......
  • react router v6报错 useRoutes() may be used only in the context of a <Router> comp
    在使用reactrouterv6版本的时候,按照之前的方法使用src/main.tsx是这样的,几乎不动import*asReactfrom"react";import*asReactDOMfrom"react-dom/client";import"~/assets/index.css";importAppfrom"~/App.tsx";ReactDOM.createRoot(......
  • UVM - 20 (component phase)
    内容UVM中组件的执行顺序phaseCommonphaseRunphaseuvm_phase类中核心方法phase同步synchronizationphaseobjection机制uvm平台至少有一个objection机制,存在raise_objection和drop_objectiontestbench中写forever是不会形成死循环的,使用objection机制跳......
  • did you register the component correctly? For recursive components, make sure to
    创建了一个vue2的项目,在运行npmrunserve的时候报错,检查了拼写也完全没有问题最后找到的解决方案将原来的<script>import{Person}from'./components/Person.vue'exportdefault{name:'App',components:{Person}}</script>修改为<script>//impo......
  • Linux Java调用 海康sdk报 Unable to load library '/home/slife/bsmt/HCNetSDK_linux
    1、问题在Linux下java调研libPlayCtrl.so文件失败 解决方案:sudovim~/.bashrc 在该文件末尾追加:exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/slife/bsmt/HCNetSDK_linux64/刷新一下source~/.bashrcok参考链接 https://www.cnblogs.com/kikyoqiang/p/14911373.......
  • sessionInfo()使用技巧--是否事先library()的影响
    在没有使用对应R包的状态下使用命令sessionInfo(),不会显示该R包信息在使用对应R包的状态下使用命令sessionInfo(),会显示该R包及其关联R包的版本状态未library(ggplot2)时:sessionInfo()library(ggplot2)时:library(ggplot2)sessionInfo()......