3.5.1 • Published 4 months ago

react-imvc v3.5.1

Weekly downloads
599
License
MIT
Repository
github
Last release
4 months ago

React-IMVC

License Action Status License PRs-welcome

NPM

更新记录

3.0 文档

3.0 升级指南

2.0 文档

2.0 升级指南

MVC 三者都是 Isomorphic,既是服务端 MVC,也是浏览器端 MVC。

react-imvc 是 isomorphic mvc 的 react 实现,它是一个 Web 框架。通过 react-imvc,我们可以更便利地实现同构 Web 应用的开发。

用法示例:

点击访问详细文档地址:Documents

react-imvc 的作用和特性

  • 一条命令启动完整的开发环境
  • 一条命令编译和构建源代码
  • 一份代码,既可以在 node.js 做服务端渲染(SSR),也可以在浏览器端复用后继续渲染(CSR & SPA)
  • 既是多页应用,也是单页应用,还可以通过配置自由切换两种模式,用「同构应用」打破「单页 VS 多页」的两难抉择
  • 构建时可以生成一份 hash history 模式的静态文件,当做普通单页应用的入口文件(如 DEMO 所示)
  • 构建时可以根据路由切割代码,按需加载 js 文件
  • 支持在 IE9 及更高版本浏览器里,使用包括 async/await 在内的 ES2015+ 语言新特性
  • 丰富的生命周期,让业务代码有更清晰的功能划分
  • 内部自动解决在浏览器端复用服务端渲染的 html 和数据,无缝过渡
  • 好用的同构方法 fetch、redirect 和 cookie 等,贯通前后端的请求、重定向和 cookie 等操作
  • 还有更多隐藏特性,在等待你去发掘……

安装 react-imvc

react-imvc 是一个整体解决方案,包括服务端和客户端,所以必须从 npm 或 yarn 里下载到 package.json 里。

npm install --save react@^17 react-dom@^17 react-imvc@^3 @babel/runtime@^7

使用 react-imvc 开发 Hello World

第一步:添加 npm scripts 任务

在你的 package.json 里添加 npm scripts 如下命令:

{
    "scripts": {
        "start": "react-imvc start",
        "build": "react-imvc build",
        "test": "react-imvc test"
    }
}

第二步:添加源代码目录 src/ 和路由文件 index.js

在 package.json 所在的目录下,新建一个文件夹,名称为 src

在 src 文件夹里新增 index.js 入口文件,添加一组 {path, controller} 的路由配置

// src/index.js
export default [
    {
        path: '/',
        controller: () => import('./home/Controller')
    }
]

第三步:编写每个页面的 MVC 结构

每个页面必须是一个包含 controller.js 的文件夹,其中 controller.js 是页面的入口文件

// src/home/Controller
import Controller from 'react-imvc/controller' // 加载 react-imvc controller 控制器
import React from 'react'

export default class Home extends Controller { // 继承它,编写你的控制器逻辑
    View = View // 将 react 组件赋值给控制器的 View 属性
}

function View() {
    return (
        <h1>Hello React-IMVC</h1>
    )
}

第四步:npm start 启动应用

在命令行输入 npm start,然后打开 http://localhost:3000,将看到 Hello React-IMVC

查看页面源代码,可以看到服务端渲染的内容。

Wiki

Wiki

欢迎提 Issue 和 Pull Request

issue | PR

License

MIT

2.10.27

5 months ago

2.10.28

4 months ago

3.5.1

4 months ago

3.5.0

4 months ago

3.4.4

6 months ago

2.10.28-beta.0

4 months ago

3.4.5

5 months ago

2.10.26

9 months ago

3.4.0-beta.0

10 months ago

3.4.0

9 months ago

3.4.3

9 months ago

3.4.2

9 months ago

3.4.1

9 months ago

2.10.18

1 year ago

2.10.19

1 year ago

2.10.20

1 year ago

2.10.21

1 year ago

2.10.22

1 year ago

2.10.23

1 year ago

2.10.24

1 year ago

2.10.25

12 months ago

3.3.17

1 year ago

3.3.18

1 year ago

3.3.19

1 year ago

3.3.24

1 year ago

3.3.25

1 year ago

3.3.26

12 months ago

3.3.20

1 year ago

3.3.21

1 year ago

3.3.22

1 year ago

3.3.23

1 year ago

2.10.16

1 year ago

2.10.17

1 year ago

3.3.16

1 year ago

2.10.15

1 year ago

3.3.15

1 year ago

3.3.9

2 years ago

3.3.8

2 years ago

2.10.10

2 years ago

2.10.11

2 years ago

2.10.12

2 years ago

2.10.13

2 years ago

2.10.14

2 years ago

2.10.9

2 years ago

2.10.8

2 years ago

3.3.13

2 years ago

3.3.14

2 years ago

3.3.10

2 years ago

3.3.11

2 years ago

3.3.12

2 years ago

3.3.7

2 years ago

3.3.6

2 years ago

2.10.7

2 years ago

2.10.5

2 years ago

2.10.6

2 years ago

2.9.11

2 years ago

2.10.1

2 years ago

2.10.2

2 years ago

2.10.0

2 years ago

3.2.9

2 years ago

3.2.8

2 years ago

2.10.3

2 years ago

2.10.4

2 years ago

3.3.1

2 years ago

3.3.0

2 years ago

3.3.5

2 years ago

3.3.4

2 years ago

3.3.3

2 years ago

3.3.2

2 years ago

2.9.9

2 years ago

3.2.6

2 years ago

2.9.10

2 years ago

3.2.7

2 years ago

3.2.5

3 years ago

2.9.8

3 years ago

2.9.7

3 years ago

3.2.2

3 years ago

3.2.1

3 years ago

3.2.0

3 years ago

3.2.4

3 years ago

3.2.3

3 years ago

2.9.2

3 years ago

2.9.1

3 years ago

2.9.4

3 years ago

2.9.3

3 years ago

2.9.6

3 years ago

2.9.5

3 years ago

2.8.1

3 years ago

2.8.0

3 years ago

3.1.0

3 years ago

3.0.16

4 years ago

3.0.17

3 years ago

2.7.15

3 years ago

2.7.14

4 years ago

3.0.18

3 years ago

3.0.15

4 years ago

2.7.13

4 years ago

2.7.12

4 years ago

2.7.11

4 years ago

3.0.14

4 years ago

3.0.13

4 years ago

3.0.12

4 years ago

2.7.10

5 years ago

3.0.11

5 years ago

3.0.10

5 years ago

2.7.9

5 years ago

3.0.9

5 years ago

3.0.8

5 years ago

3.0.8-0

5 years ago

2.7.8

5 years ago

3.0.7

5 years ago

3.0.6

5 years ago

3.0.5

5 years ago

3.0.4

5 years ago

3.0.3

5 years ago

2.7.7

5 years ago

3.0.2

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

3.0.0-beta.47

5 years ago

3.0.0-beta.46

5 years ago

3.0.0-beta.44

5 years ago

3.0.0-beta.45

5 years ago

2.7.6

5 years ago

3.0.0-beta.43

5 years ago

3.0.0-beta.42

5 years ago

3.0.0-beta.41

5 years ago

3.0.0-beta.40

5 years ago

3.0.0-beta.39

5 years ago

3.0.0-beta.38

5 years ago

3.0.0-beta.36

5 years ago

3.0.0-beta.37

5 years ago

3.0.0-beta.35

5 years ago

2.7.5

5 years ago

3.0.0-beta.34

6 years ago

3.0.0-beta.33

6 years ago

3.0.0-beta.31

6 years ago

3.0.0-beta.32

6 years ago

3.0.0-beta.30

6 years ago

3.0.0-beta.29

6 years ago

2.7.4

6 years ago

2.7.3

6 years ago

3.0.0-beta.28

6 years ago

3.0.0-beta.27

6 years ago

3.0.0-beta.26

6 years ago

3.0.0-beta.25

6 years ago

3.0.0-beta.24

6 years ago

3.0.0-beta.23

6 years ago

3.0.0-beta.22

6 years ago

3.0.0-beta.21

6 years ago

2.7.2

6 years ago

3.0.0-beta.20

6 years ago

3.0.0-beta.19

6 years ago

3.0.0-beta.18

6 years ago

3.0.0-beta.17

6 years ago

3.0.0-beta.16

6 years ago

3.0.0-beta.15

6 years ago

3.0.0-beta.14

6 years ago

3.0.0-beta.13

6 years ago

3.0.0-beta.12

6 years ago

3.0.0-beta.11

6 years ago

3.0.0-beta.10

6 years ago

3.0.0-beta.9

6 years ago

3.0.0-beta.8

6 years ago

3.0.0-beta.7

6 years ago

3.0.0-beta.6

6 years ago

3.0.0-beta.5

6 years ago

3.0.0-beta.4

6 years ago

3.0.0-beta.3

6 years ago

3.0.0-beta.2

6 years ago

3.0.0-beta.1

6 years ago

3.0.0-beta.0

6 years ago

2.7.1

6 years ago

2.7.0

6 years ago

2.6.7

6 years ago

2.6.6

6 years ago

2.6.5

6 years ago

2.6.4

6 years ago

2.6.3

6 years ago

2.6.2

6 years ago

2.6.1

6 years ago

2.6.0

6 years ago

2.5.12

6 years ago

2.5.11

6 years ago

2.5.10

6 years ago

2.5.9

6 years ago

2.5.7

6 years ago

2.5.6

6 years ago

2.5.5

6 years ago

2.5.4

6 years ago

1.6.2

6 years ago

2.5.3

6 years ago

2.5.2

6 years ago

2.5.1

6 years ago

2.5.0

6 years ago

2.4.3

6 years ago

1.6.1

6 years ago

2.4.2

6 years ago

2.4.1

6 years ago

2.4.0

6 years ago

2.3.0

6 years ago

2.2.1

6 years ago

2.2.0

6 years ago

2.1.0

6 years ago

2.0.6

7 years ago

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.6.0

7 years ago

1.5.3

7 years ago

1.5.2

7 years ago

1.5.1

7 years ago

1.5.0

7 years ago

1.4.7

7 years ago

1.4.6

7 years ago

1.4.5

7 years ago

1.4.4

7 years ago

1.4.3

7 years ago

1.4.2

8 years ago

1.4.1

8 years ago

1.4.0

8 years ago

1.3.8

8 years ago

1.3.7

8 years ago

1.3.6

8 years ago

1.3.5

8 years ago

1.3.4

8 years ago

1.3.3

8 years ago

1.3.2

8 years ago

1.3.1

8 years ago

1.3.0

8 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago