OpenComponents是一款用于开发和部署强大,分布式html组件的框架。
它的目标是拥有一个系统,这个系统允许大量合作(可能涉及在多个项目数百名工程师),并且拥有一个促进代码共享,减少依赖性,而且容易接近新特性和实验的工具。
介绍
OpenComponents包含两个方面:
The components are small units of isomorphic code mainly consisting of html, javascript, css. They can optionally contain some logic, allowing a server-side node.js application to compose a model that is used to render the view. After rendering they are pieces of pure html to be injected in any html page.
components
The consumers are websites or microsites (small independently deployable web sites all connected by a front-door service or any routing mechanism) that need components for rendering partial contents in their web pages.
consumers
该框架包含三个部分:
The cli allows developers to create, develop, test, and publish components.
cli
The library is where the components are stored after the publishing. When components depend on static resources (such as images, css files, etc.) these are stored, during packaging and publishing, in a publicly-exposed part of the library that serves as cdn.
library
The registry is a rest api that is used to consume, retrieve, and publish components. Since they are immutable, the registry is the entity that handles the traffic between the library and the consumers.
registry
组件
该组件由以下目录组成
创建
创建一个包含组件的文件夹
npm install oc -g oc init hello-world
编辑 ,调试,测试
使用组件文件夹作为库和观察文件开始本地测试注册表:
oc dev . 3030
观察组件消耗时的状态
oc preview http://localhost:3030/hello-world
一旦组件发生变化,你将能够刷新这个页面,看看它的外观。
发布到 注册表
您需要一个连接到库的在线注册表。具有相同名称和版本的组件将无法在注册表共存。
# you have to do the registry config first, just onc eoc registry add http://my-components-registry.mydomain.com # then, ship it oc publish hello-world/
现在应该可以登录 http://my-components-registry.mydomain.com/hello-world.