写点什么

Bit 支持 Angular 并发布公开测试版,对 Vue 的支持也即将面世

  • 2019-08-03
  • 本文字数:2315 字

    阅读完需:约 8 分钟

Bit支持Angular并发布公开测试版,对Vue的支持也即将面世

我们荣幸地宣布 Bit with Angular 8+已发布公开测试版。现在你可以用它在不同项目之间共享 Angular 组件了,整个团队也可以协作使用组件,从而更快地构建应用程序。


2018 年 Bit 诞生,为前端业界带来了一条共享和构建组件的新途径。Bit 的组件平台已帮助超过 5 万开发者和他们的团队共享组件并协同构建应用。


在此之前 Bit 主要支持的是 React。但我们几乎每天都能收到很多请求,希望我们更好地支持 Angular 和 Vue。今天 Bit with Angular 发布了公开测试版,支持 Vue 的版本也即将推出。下面来看看具体内容。


试用 Bit with Angular

上手教程

为了帮助大家更好地体验为 Angular 组件协作打造的 Bit 版本,我们准备了一个手把手教程,演示如何在两个项目之间共享组件。你还可以在自己的 bit.dev 收藏夹中找到你的组件。


只需安装 bit-cli 并注册 bit.dev 帐户就可以跟随教程学习了。

使用实时 Angular 组件

这项功能让你可以先预览组件的效果,再决定是否用在项目中。



bit.dev 为导出到网站上的组件提供了一个展示环境,帮助你预先体验找到的组件的实际效果,再决定是否用在自己的项目中。


我们为 bit.dev 展示环境加入了 Angular 组件支持。当你点进一个 Angular 组件页面时,Bit 将使用 angular-cli 生成一个 Angular 应用,并允许你将组件添加到这个应用中。你可以添加应用模块 typescript 文件以及 CSS 和 HTML 文件来使用组件。



找到了你喜欢的组件?那就安装到你的项目中吧。

寻找 Angular 组件


你可以在 bit.dev 上使用 Angular 组件搜索功能找出你的团队和社区共享的组件。组件从项目导出到 bit.dev 时会自动附加与上下文相关的标签。可以用新加入的 Angular 标签查找 Angular 组件。




按上下文、依赖项和包大小搜索组件


你可以使用 bit.dev 组件搜索过滤器按指定的依赖项或包大小精确定位,更快找到应用所需的组件。想要找到自己的组件吗?只要先导出到 bit.dev 就行了。

用 Angular 和 Bit 开发

Bit 组件的 Angular 编译器

每个 bit 组件都与一个编译器链接在一起。Bit 编译器负责编译或转换源代码,来构建可在另一个项目中运行的文件。


Bit 团队现在正式发布了Angular编译器。你可以将它应用到所有从 Angular 项目共享的组件上。


方法:我们采用了 Angular 团队的建议,使用ng-packagr作为 Bit 的 Angular 编译器的基础。Angular 核心团队使用了 ng-packagr 这个项目作为他们的包管理器。我们也效仿了这条途径。


我们的编译器会将 Angular typescript 编译为 AOT(预编译)代码。构建结果使用 Angular Package Format(APF)格式,可以顺利导入 Angular 项目。

Angular 模块就是 Bit 组件

在 Angular 应用程序中,@Component 就是最基本的构建块。除了组件以外,典型的项目还包括服务、指令和流水线等内容。要在项目中使用这些实体,必须先在 Angular 模块或 ngModule 中声明它们。


Angular CLI 可以简单地快速生成新模块和实体。Angular 提供了一套最佳方法指南,告诉开发者如何将应用程序分解为共享模块和功能模块。


在 Bit 中任何东西都可以是一个组件。单个服务、流水线或功能函数都可以作为 Bit 组件导出。但根据我们的经验,最合适的就是 ngModule == Bit 组件

Angular 核心库依赖项

Angular 项目将 Angular 库(@angular 命名空间下的库)作为依赖项。运行 Angular 时,要求这些依赖项只能在项目中的 node_modules 层次结构中安装一次。当你使用 angular-cli 生成 Angular 项目并定义多个库和应用程序时,CLI 将负责处理这部分工作。


当 Bit 从项目中收集一个组件所需的安装内容时,它会将 @angular 库作为必需的依赖项。从外部导入组件时,这可能会导致 Angular 运行时库多次安装,并弹出一些烦人的错误。


这很容易解决。你只要将 @angular 库也添加为项目中的 devDependencies 即可。你可能还想放宽一些版本限制。因此,如果你的项目使用 @angualr/core 8.1.1 或 @angualr/core~8.1.0,则 devDependencies 可以定义为 @angular/core ^8.0.0。这样一来你的组件就可以在与你使用的版本区别不大的项目上复用了。


当然最好让 Angular 库统一在一个版本上,但这一点大家都知道。可以参阅我们的Angular指南获取更多信息。

向 Bit 和 Angular 作贡献

虽然 Bit 现在已经支持 Angular 8+了,但你还可以在一些方面帮助我们改善 Angular with Bit 的体验。例如:

测试组件

Bit 将组件的所有文件和依赖项封装在一起,使开发者可以在本地或在云上独立运行和测试它们。在编写 Angular 应用程序时,测试一直是一大核心要素。但是现在还不能用 Bit 测试 Angular 组件。


我们任务列表中的一个关键项目就是构建 Angular Tester for Bit,以便开发者可以测试 Angular 组件。我们的目标是同时为 Karma 和 Jest 构建测试器,这样你就可以选择自己喜欢的测试器了。Bit编译器和测试器都是开源的,欢迎大家为这项工作做出贡献!

AngularJS 支持

Angularjs(也就是 Angular 1)是前端开发业界的革命性产品。它仍在广泛应用,但现在已处于 LTS(长期支持)状态。在 2018 年中期发布的 1.7 版本是 Anguarjs 的最后一个版本。因此我们不打算正式支持 Angularjs。但 Bit 是为所有 Javascript 代码打造的开放平台,因此如果你还想用 Angularjs,想要编写自己的编译器和测试器,那也完全没问题。

未来展望

今天我们首次为 Angular 提供了支持,对 Vue 的支持也即将面世,不久将发布公开测试版。


为了实现这一目标,我们逐渐开始引入组件封装等新技术,将可复用代码与可随处运行的标准单元打包在一起。组件封装功能将很快推出,我们会发布更多信息。


我们的计划还有很多,且听下回分解。我们希望你会喜欢这个新版本,欢迎大家踊跃反馈


英文原文:https://blog.bitsrc.io/announcing-bit-with-angular-public-beta-578cbb173690


2019-08-03 16:274159

评论

发布
暂无评论
发现更多内容

【每天学点‘音视频’】前向纠错 和 漏包重传

小曾同学.com

实时音视频 NACK fec ACK 丢包重传

GM ePub Reader Pro for Mac v2.8.6 ePub 阅读器 AI 电子书阅读神器

晨光熹微

Desktop Stickers for Mac v2.88 桌面便签

晨光熹微

赛博威合同管理再进化:费用追踪无死角,核算精准零偏差,审批智能再提速!

赛博威科技

Cisdem PDF Compressor for Mac v5.2.0 PDF文件压缩工具

晨光熹微

“考公图都不会?”大模型真正的难题是:看图太难!

新消费日报

分布式事务:从基础概念到现代解决方案的全面解析

量贩潮汐·WholesaleTide

分布式

element ui table render-header自定义表头信息使用

柠檬与橘子

T-rex压测工具使用

天翼云开发者社区

网络

《算力互联互通行动计划》发布,天翼云铺就算力畅行高速路!

天翼云开发者社区

天翼云 算力标准

商品中心—商品生命周期和状态的技术文档

电子尖叫食人鱼

Java

DropDMG for Mac v3.6.9快速制作DMG文件的工具

晨光熹微

新闻速递丨Altair连续两年被 Gartner 魔力象限评为数据科学与机器学习平台领导者

Altair RapidMiner

机器学习 AI 数据分析 生成式AI RapidMiner

天润融通AI训练师推动AI员工从“可用”到“好用”

天润融通

商品中心—商品可采可补可售的技术文档

不在线第一只蜗牛

Java

Feeder for Mac v4.7.3创建和发布的RSS

晨光熹微

Feeder 4 mac Feeder下载 Feeder 4 for mac

File Cabinet Pro for mac v8.5.6 实用的菜单栏文件快捷管理工具

晨光熹微

Geekbench AI 命令行工具使用教程

柠檬与橘子

Deckset for Mac v2.0.39 创意优秀的幻灯片制作工具

晨光熹微

告别切屏|阿里云DMS MCP+通义灵码,30分钟搞定电商秒杀开发

阿里巴巴云原生

详解HarmonyOS NEXT系统中ArkTS和仓颉的混合开发

幽蓝计划

FonePaw iOS Transfer for Mac v6.5.0 iOS数据传输工具

晨光熹微

深度解析:爬虫技术获取淘宝商品详情并封装为API的全流程应用

Noah

告别切屏|阿里云DMS MCP+通义灵码,30分钟搞定电商秒杀开发

阿里云云效

SRv6 验证实验

天翼云开发者社区

网络 SRv6

AI英语学习APP的应用场景

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语口语

2025年低代码平台最新权威排行:原来是这几家厂商在领跑行业

优秀

低代码 低代码开发 低代码开发平台 低代码平台

分布式里套单机?YMatrix HTAP “神技”搞定 10w+ TPS

YMatrix 超融合数据库

HTAP HTAP 场景实践 YMatrix HTAP数据库 非平衡部署

Ripple的 XRP分类账正推出代币化商业票据以进一步推动 RWA 发展

PowerVerse

Geekbench AI 命令行工具安装教程

柠檬与橘子

Bit支持Angular并发布公开测试版,对Vue的支持也即将面世_语言 & 开发_Saurabh Barot_InfoQ精选文章