V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fxy5869571
V2EX  ›  问与答

基于 typescript3.0 koa2 react 的个人全栈项目

  •  
  •   fxy5869571 · 2018-08-07 13:49:09 +08:00 · 1906 次点击
    这是一个创建于 2300 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Apple 的个人博客

    动机

    一直想学习下 typescript 的,趁着业余时间,于是就写了这个博客,github 有需要的童鞋可以把代码下到本地呀,本地代码可以直接访问服务器的接口,管理端账号:guest,密码:guest , 觉得有帮助的话就点个 star 吧(⊙o⊙)…

    技术栈

    前后端都基于 typescript3.0,使用 tslint 规范代码

    后端使用 koa2 提供 api 接口, 并将所有路由定位到入口 router/index.ts 处理. 使用 react-router 分发接口, 后端 API 采用类似 Restful 风格的接口, 数据库是 MongoDB, , 权限控制采用 jwt token 的方式.目前只有两种权限,游客只有浏览的权限,管理员可以增删改查文章

    博客和管理端基于 react 框架, 使用 redux 和 redux-saga 统一处理数据, react-router 提供路由, ui 使用 antd, 使用 fetch 请求后端数据.

    演示地址

    Apple 的个人博客

    Apple 的个人博客管理端

    api 接口 github 地址

    更新

    1.更新 typescript 到 3.0。

    2.解决服务器接口本地跨域的问题。

    Usage

    安装

    git clone https://github.com/fxy5869571/blog-react.git
    
    cd blog-react
    
    yarn install
    

    入口

    import { LocaleProvider } from 'antd'
    import zhCN from 'antd/lib/locale-provider/zh_CN'
    import * as React from 'react'
    import * as ReactDOM from 'react-dom'
    import { Provider } from 'react-redux'
    import { applyMiddleware, createStore } from 'redux'
    import createSagaMiddleware from 'redux-saga'
    import './index.less'
    import reducer from './reducers'
    import RouterMap from './router/RouterMap'
    import rootSaga from './saga'
    
    const sagaMiddleware = createSagaMiddleware()
    const store = createStore(reducer, applyMiddleware(sagaMiddleware))
    sagaMiddleware.run(rootSaga)
    ReactDOM.render(
      <LocaleProvider locale={zhCN}>
        <Provider store={store}>**加粗示例**
          <RouterMap />
        </Provider>
      </LocaleProvider>,
      document.getElementById('root') as HTMLElement
    )
    

    目录结构

    目录结构截图.png

    管理端截图

    管理端截图.png

    博客截图

     博客截图.png

    kefengong
        1
    kefengong  
       2018-08-07 17:56:49 +08:00 via Android
    挺不错的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2691 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 05:30 · PVG 13:30 · LAX 21:30 · JFK 00:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.