QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

评论

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

Python数据结构与算法(2,阿里一线架构师技术图谱

程序媛可鸥

程序员 面试

Python爬取高质量电脑壁纸,还是很好看的,面试总结

程序媛可鸥

Python 程序员 面试

Linux grep命令详解,手把手教你写

程序媛可鸥

Python 程序员 面试

Python 中进程和线程的用法基本一样,跪了

程序媛可鸥

Python 程序员 面试

Python 蜻蜓fm有声书批量下载 支持账号登录 原创源码,斩获offer

程序媛可鸥

Python 程序员 面试

详解《send》源码中NodeJs静态文件托管服务实现原理

CRMEB

想了解 spring-cloud-kubernetes,那就先来实战一把官方demo

华为云开发者联盟

spring Kubernetes Spring Cloud Spring Boot

python中函数作用域,高级Python开发面试解答之线程篇

程序媛可鸥

Python 程序员 面试

Newton迭代法开方(Python),最详细的docker中安装并配置redis

程序媛可鸥

Python 程序员 面试

OBV指标交易策略(累积能量潮与移动能量潮,成交量多空比率净额及相关应用原则)

程序媛可鸥

Python 程序员 面试

Python 中的文本分类,2021Python面试真题精选干货整理

程序媛可鸥

Python 程序员 面试

Python 金融量化 随机指标交易策略,闭关60天学懂NDK+Flutter

程序媛可鸥

Python 程序员 面试

Girlfriend含苞待笑——一次性处理上百份文档,BAT这种大厂履历意味着什么

程序媛可鸥

Python 程序员 面试

架构实战营模块六作业

刘洋

#架构实战营 「架构实战营」

Python数据类型——字典,一次哔哩哔哩面试经历

程序媛可鸥

Python 程序员 面试

Python文字转换语音,让你的文字会「说话,Python面试项目包装

程序媛可鸥

Python 程序员 面试

Python爬取淘宝商品数据,价值千元的爬虫外包项目,最新美团点评Python团队面试题

程序媛可鸥

Python 程序员 面试

百度一线工程师浅谈日新月异的云原生

百度Geek说

云原生 后端

NFS服务器原理、搭建、配置,Python面试题选择题

程序媛可鸥

Python 程序员 面试

Python两个内置函数locals 和globals,Python项目开发如何设计整体架构

程序媛可鸥

Python 程序员 面试

python中strip(),lstrip(),rstrip()函数的使用讲解,Python开发知识点

程序媛可鸥

Python 程序员 面试

Python实现Singleton模式的几种方式,正在准备面试

程序媛可鸥

Python 程序员 面试

Matlab初级学习者,15个经典面试问题及回答思路

程序媛可鸥

Python 程序员 面试

复盘归因,提高交付质量的秘诀

老张

软件测试 交付质量 复盘归因

Python数据分析 之 制作酷炫的可视化大屏,特简单,我把所有Python框架整理成了PDF

程序媛可鸥

Python 程序员 面试

python DataFrame数据分组统计groupby()函数,值得推荐

程序媛可鸥

Python 程序员 面试

Python 下载的9种方法,如何才能通过一线互联网公司面试

程序媛可鸥

Python 程序员 面试

Python 中的八个“无代码”特性,这原因我服了

程序媛可鸥

Python 程序员 面试

Python爬取51job招聘信息,全网独家首发

程序媛可鸥

Python 程序员 面试

Python爬虫入门教程15:音乐网站数据的爬取,我了解到的面试的一些小内幕

程序媛可鸥

Python 程序员 面试

Python3通过函数名调用函数的几种场景实现,贼厉害

程序媛可鸥

Python 程序员 面试

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