项目实战

安装cli工具

image

安装cli工具来获得最新微服务工程框架,通过npm安装全局使用(注意权限问题):

  1. # 安装cli全局工具
  2. npm install ucf-cli -g
  3. # 查看版本
  4. ucf -v
  5. # 查看帮助
  6. ucf -h

快速初始化

创建项目

  • 首先确定我们当前开发目录,在根目录自动创建ucf-project工程,执行如下:
  1. ucf init ucf-project

依赖安装

在运行微前端工程之前,需要我们安装依赖包,可以使用npmcnpm,在园区内网还可以使用ynpm

  1. # 切换到我们刚才创建好的工程ucf-project目录下
  2. npm install
  3. # 淘宝国内镜像源
  4. cnpm install
  5. # 用友内网镜像源
  6. ynpm install

运行

安装好我们的依赖包后,开始运行前端服务,如下:

  1. # 开启调试服务
  2. npm start

如何访问

访问的路径实际上就是ucf-apps文件夹内的名字,需要配合bootList进行设置

  • 访问模式一:直接访问

启动完成后按照提示访问即可!http://127.0.0.1:3000/demo-app-org

  • 访问模式二:集成到应用平台后访问

也可以访问本地开发portal环境:http:127.0.0.1:3000(访问密码:admin/123qwe,user/123qwe,demo/123qwe)。

注:访问模式一即通过URL的方式直接查看对应页面效果;
注:但为了方便集中挂载管理,以及调试集成后效果,单独应用或节点功能往往会被集成到应用平台的门户导航框架中,所以提供第二种访问方式。

提示

默认启动端口是3000,如果被占用的话,工具会随机使用无占用端口进行开启服务,注意查看启动日志

资源构建

ucf 工程上线之前的前端构建如下:

  1. # 开始构建前端静态资源到 ucf-publish
  2. npm run build

安装组件库

脚手架已经内置组件

  1. npm install tinper-bee --save

使用组件库

创建微应用

首先通过ucf-cli的命令来创建一个微应用admin

  1. ucf new app

输入名称 admin 选择 MPA 即可,

修改结构

修改 ucf-apps/admin/src/components/App/index.js 如下:

  1. /**
  2. * App模块
  3. */
  4. import React, { Component } from 'react';
  5. import { Table } from 'tinper-bee';
  6. import './index.less';
  7. class App extends Component {
  8. columns = [
  9. { title: "用户名", dataIndex: "a", key: "a", width: 300, },
  10. { id: "123", title: "性别", dataIndex: "b", key: "b", width: 500 },
  11. { title: "年龄", dataIndex: "c", key: "c", width: 200 }
  12. ];
  13. data = [
  14. { a: "令狐冲", b: "男", c: 41, d: "操作", key: "1" },
  15. { a: "杨过叔叔的女儿黄蓉", b: "男", c: 67, d: "操作", key: "2" },
  16. { a: "郭靖", b: "男", c: 25, d: "操作", key: "3" }
  17. ];
  18. render() {
  19. return (
  20. <div className="app-wrap">
  21. <Table
  22. columns={this.columns}
  23. data={this.data}
  24. onRowClick={(record, index, indent) => {
  25. console.log(record, index);
  26. }}
  27. />
  28. </div>
  29. );
  30. }
  31. }
  32. App.displayName = "App";
  33. export default App;

最终演示效果: image