AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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:273988

评论

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

剖析MySQL黑盒——MySQL架构设计

学Java关注我

Java 编程 架构 程序人生 计算机

产品经理训练营学习总结

新盛

实战来了!Spring Boot+Redis 分布式锁模拟抢单!

Java小咖秀

redis 分布式 分布式锁 springboot 抢单

换一个角度,看华为云的变化,云产业的更迭

脑极体

多场景实时音视频通信激增背后,RTC 技术大爆发

融云 RongCloud

30亿参数,华为云发布全球最大预训练模型,开启工业化AI开发新模式

华为云开发者联盟

AI nlp 华为云 盘古 预训练模型

SpringCloud整合统一异常处理

悟空聊架构

spring SpringCloud Cloud 异常处理 passjava

百度集团资深副总裁李震宇:Apollo开放平台打造全球最强自动驾驶量产引擎 助力车企造好车

百度大脑

自动驾驶 Apollo

MySQL角色(role)功能介绍

Simon

MySQL

亲爱的开发者,您收到一个启动智能世界的魔方

脑极体

技术干货 | 如何在 Library 中使用/依赖 mPaaS?

蚂蚁集团移动开发平台 mPaaS

Android Studio 移动开发 mPaaS

JAVA 中 -> 是什么意思?

Sakura

4月日更

《本人娶刘亦菲的可行性报告》原文

不脱发的程序猿

程序人生

工作三年,小胖连 Redis 持久化都不知道?真丢人!

一个优秀的废人

redis 持久化 aof rdb

Python爬虫:BeatifulSoap解析HTML报文的三个实用技巧

老猿Python

Python 爬虫 编程语言 BeatifulSoap Html报文解析

密码相似性

red

使用 Go 实现一个简单的 k-v 数据库

roseduan

数据库 Go 语言 KV存储引擎

为什么每个程序员都应该了解“康威定律”

soolaugust

编程 架构 设计

成功入职腾讯大厂 分享我的成功秘籍:10W字复习大纲手册

比伯

Java 架构 程序人生 编程语言 计算机

Spring优缺点

风翱

spring 4月日更

图神经网络在生化医疗方面的相关应用

博文视点Broadview

业务需求与系统功能,你分清楚了吗?

BY林子

测试用例 业务需求 测试设计 业务价值

kafka 可视化工具_6个重要维度 | 帮你快速了解这9款免费etl调度工具的应用

敏捷调度TASKCTL

大数据 kafka kettle 调度式分布 ETL

推荐一个还不错的YouTube视频下载软件

科技猫

软件 视频处理 资源分享 视频下载 youtube

话题讨论|华为云再报大动作,云厂商未来战场在哪里?

程序员架构进阶

话题讨论 28天写作 4月日更

2021团体程序设计天梯赛总结

玄兴梦影

算法 总结 比赛

第八次课程总结

小匚

产品经理训练营

看从小自带BUFF的他,如何用代码降低万物互联的门槛

华为云开发者联盟

IoT 华为云 iotda 华为开发者大会2021 万物互联

“拼多多”值得我们学习

小天同学

思考 拼多多 自我感悟 4月日更

Python OOP-3

若尘

oop Python编程

6大新品重磅发布,华为云全栈云原生技术能力持续创新升级

华为云开发者联盟

华为云 CloudIDE GaussDB(for openGauss) 沃土云创计划 可信智能计算服务TICS

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