TypeScript + React + Ant Design项目开发总结(一)

本文总结了一次使用TypeScript、React和Ant Design进行内部CRM改造项目的开发经验,重点解析了项目结构、特别是build模块。项目采用React作为前端框架,Ant Design作为UI库,利用nodejs的express进行首屏渲染。build模块中,详细阐述了如何通过server.js和server.dev.js启动服务,以及如何利用jsonp从package.json中获取config配置,为后续的react应用提供基础。
摘要由CSDN通过智能技术生成

写在前面

本次项目是公司进行的CRM改造项目,因此,项目主要用于内部员工,如销售,运营,售后等进行客户的相关数据的维护,项目前端技术选用React,UI框架选用Ant Design,由于是内部系统,因此对UI界面的要求并不算高,基本上基于Ant Design本身的控件进行开发。

项目总体预览

先对项目结构进行一个大致的预览:
在这里插入图片描述
项目的框架是由前辈搭建的,我来主要剖析一下这个项目。项目主要分为两个大块:

  1. app模块(项目内部主要功能模块),下面再分common模块(提取内部公用模块,例如公共组件,公共枚举,公共服务类),module模块(细分各个功能模块)
  2. build模块(项目启动模块),由于使用了node进行首屏渲染,所以单独出文件夹;
  3. 其他文件,主要是babel文件用于转es6,tsconfig用于配置typescript
    下面开始先总结下build模块。

build模块

由于项目使用nodejs的express框架进行了首屏渲染,所以独立出来的build文件夹,就很有剖析的必要了。
在这里插入图片描述
server文件夹
在这里插入图片描述
这里的data文件夹下是放置了一些静态数据,比如省市区的信息。routes.js 文件配置了express的路由,server.dev.js 和 server.js 是启动服务的主要文件。

server.js

let express = require('express');
let compression = require('compression');
let path = require('path');
let app = express();
let distFolder = path.join(__dirname, './dist');
let serveStatic = require('serve-static');
let packageConfig = require('./package.json');
let routes = require('./routes');
const config = packageConfig.config;
const port = config.port;

routes(app, config);

app.use(compression());

app.use(serveStatic(distFolder, {
   
    maxAge: '7d',
    index: ['index.html'],
    etag: false,
    setHeaders: function (res, path, stat) {
   
        if (path.indexOf('index.html') >= 0) {
   
            res.setHeader(
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值