介绍

本章节讲述了如何使用Choerodon 和React 开发一个全新的模块。

开发新模块

1、在本地创建新模块的文件夹。

  1. $ mkdir -p choerodon-front-demo/demo/src/app/demo/containers

2、在文件夹下创建config.jswebpack.config.js,并修改。

  1. $ cd choerodon-front-demo
  2. $ touch config.js
  1. // config.js
  2. const config = {
  3. local: true, //是否为本地开发
  4. clientId: 'localhost', // 必须填入响应的客户端(本地开发)
  5. titlename: 'Demo', //项目页面的title名称
  6. // favicon: 'favicon.ico', //项目页面的icon图片名称
  7. theme: {
  8. 'primary-color': '#3F51B5',
  9. },
  10. cookieServer: '', // 子域名token共享
  11. server: 'http://localhost:8080', // 后端接口服务器地址
  12. port: 9090 // 端口
  13. };
  14. module.exports = config;

3、在子文件夹下创建package.json文件,并修改。

  1. $ cd demo
  2. $ touch package.json
  1. {
  2. "name": "choerodon-front-demo",
  3. "version": "1.0.0",
  4. "description": "",
  5. "main": "src/app/demo/containers/DEMOIndex.js",
  6. "scripts": {
  7. "start": "choerodon-front-boot start --config ../config.js",
  8. "build": "choerodon-front-boot build --config ../config.js"
  9. },
  10. "contributors": [
  11. "choerodon"
  12. ],
  13. "license": "ISC",
  14. "dependencies": {
  15. "choerodon-front-boot": "0.7.2"
  16. }
  17. }

4、创建Index文件,文件名为模块名大写+Index

  1. $ touch 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 { asyncLocaleProvider, asyncRouter, nomatch } from 'choerodon-front-boot';
  6. @inject('AppState')
  7. class DEMOIndex extends React.Component {
  8. render() {
  9. const { match, AppState } = this.props;
  10. return (
  11. <Switch>
  12. <Route path={'*'} component={nomatch} />
  13. </Switch>
  14. );
  15. }
  16. }
  17. export default DEMOIndex;

5、在package.json 同级的目录下,安装并启动。

  1. $ npm install
  2. $ npm run start

6、查看效果

在浏览器中键入 localhost:9090,查看页面效果。