模块化:
应用容器:
依赖注入:
状态管理:
轻量级:
灵活性:
可扩展性:
框架无关:
要使用 Frint.js,可以通过 npm 或 yarn 安装:
npm install --save frint frint-react
# 或者
yarn add frint frint-react
在主应用中,需要创建应用容器,并注册子应用:
import { createApp } from 'frint';
import { render } from 'frint-react';
import React from 'react';
import ReactDOM from 'react-dom';
const RootComponent = () => (
<div>
<h1>Welcome to Frint.js</h1>
</div>
);
const App = createApp({
name: 'MyApp',
providers: [],
render: render(React, ReactDOM, RootComponent),
});
const app = new App();
app.getContainer();
子应用与主应用类似,也是一个独立的应用容器:
import { createApp } from 'frint';
import { render } from 'frint-react';
import React from 'react';
import ReactDOM from 'react-dom';
const ChildComponent = () => (
<div>
<h2>This is a child app</h2>
</div>
);
const ChildApp = createApp({
name: 'ChildApp',
providers: [],
render: render(React, ReactDOM, ChildComponent),
});
export default ChildApp;
在主应用中,通过 App
容器注册和挂载子应用:
import ChildApp from './ChildApp';
app.registerApp(ChildApp, {
regions: ['main'],
multi: false,
});
通过依赖注入,可以在应用中共享服务:
import { createApp, provide } from 'frint';
class MyService {
getMessage() {
return 'Hello from MyService!';
}
}
const App = createApp({
name: 'MyApp',
providers: [
provide('myService', MyService),
],
render: render(React, ReactDOM, RootComponent),
});
const app = new App();
const myService = app.get('myService');
console.log(myService.getMessage()); // Hello from MyService!
插件机制:
服务和依赖管理:
路由管理:
示例项目:
官方文档:
社区和支持: