写点什么

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

评论

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

Vehicle + UNS : 为 SDV 提供全生命周期的数据可互操作性

EMQ映云科技

车联网 mqtt 软件定义汽车 emqx

提高 C# 的生产力:C# 13 更新完全指南

EquatorCoco

C# 数据结构 算法

MySQL 备库可以设置 sync_binlog 非 1 吗?

爱可生开源社区

MySQL 数据库 MySQL主从复制

火山引擎VeDI数据技术分享:两个步骤,为Parquet降本提效

字节跳动数据平台

云服务 数据平台 火山引擎 数据飞轮

使用IPIDEA海外代理助力宠物跨境电商

热爱编程的小白白

商品图片与详情描述:1688 API返回值的重要部分

技术冰糖葫芦

API 文档 API 测试 API 优先 API Hub

Kubernetes集群的ETCD分布式数据库高可用原理解析

inBuilder低代码平台

开源 云原生 Kubernetes, 云原生, eBPF

Java代码实现七夕魔方照片墙

不在线第一只蜗牛

Java 代码

发现了一个优秀的在线表格

大师兄

前端 vue cli JavaScrip

【YashanDB知识库】设置归档日志上限,但归档日志没自动清理,导致磁盘空间满

YashanDB

yashandb 崖山数据库 崖山DB

《饿殍:明末千里行》PC+手机版分享,高达97%的好评率。

你的猪会飞吗

单机游戏

项目管理优化:7款顶级多项目软件解析

爱吃小舅的鱼

项目进度管理 项目进度管理软件 项目进度管理工具

大咖公开课 | 大模型场景讲解以及测试方法

霍格沃兹测试开发学社

全面解析:抖音商品列表数据接口的使用与集成技巧

tbapi

抖音 抖音商品列表数据接口 抖音商品列表数据采集 抖音API接口

比特币破新高了,然后接下来空虚了

区块链项目一站式包装孵化

项目进度管理指南:9款顶尖项目进度计划平台

爱吃小舅的鱼

项目管理 项目进度管理 项目进度管理软件

云原生代表技术(1)-不可变基础设施

虚实的星空

大咖公开课 | 大模型场景讲解以及测试方法

测吧(北京)科技有限公司

测试

电商平台集成:京东商品详情API的应用实践

技术冰糖葫芦

API 文档 API 测试 API 优先 API Hub

程序员,到底要懂多少业务?

秃头小帅oi

【YashanDB知识库】使用select * 创建的物化视图无法进行查询重写

YashanDB

yashandb 崖山数据库 崖山DB

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