前置条件

在开发helloword页面之前,要确保已经在本地创建了基础前端项目。详见 新建项目

  • 页面编写
  • 配置路由
  • 页面访问

页面编写

在项目的react/src/app/demo/containers/organization(project, user, global)目录下新建一个新的功能文件夹hello及其相关的JS文件。

  1. $ cd choerodon-todo-service
  2. $ mkdir -p react/src/app/demo/containers/organization/hello
  3. $ touch react/src/app/demo/containers/organization/hello/index.js
  1. // hello/index.js
  2. import React, { Component } from 'react';
  3. class Hello extends Component {
  4. render() {
  5. return (
  6. <div>Hello, it is a demo!</div>
  7. );
  8. }
  9. }
  10. export default Hello;

配置异步路由

react/src/app/demo/containers/DEMOIndex.js文件中配置新建文件的访问路径:

  1. // DEMOIndex.js
  2. import React from 'react';
  3. import { Route, Switch } from 'react-router-dom';
  4. import { inject } from 'mobx-react';
  5. import { asyncRouter, nomatch } from '@choerodon/boot';
  6. const HelloIndex = asyncRouter(() => import('./organization/hello'));
  7. @inject('AppState')
  8. class DEMOIndex extends React.Component {
  9. render() {
  10. const { match, AppState } = this.props;
  11. return (
  12. <Switch>
  13. <Route path={`${match.url}/hello`} component={HelloIndex} />
  14. <Route path="*" component={nomatch} />
  15. </Switch>
  16. );
  17. }
  18. }
  19. export default DEMOIndex;

页面访问

本次demo的访问路径应该为: http://localhost:9090/#/demo/hello

因为在编译自动收集路由配置时,本模块的路由被映射为/demo,也就是在package.json中设置的routeName字段。