All Projects → Lucifier129 → React Imvc

Lucifier129 / React Imvc

Licence: mit
An Isomorphic MVC Framework

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to React Imvc

React App
Create React App with server-side code support
Stars: ✭ 614 (+191%)
Mutual labels:  isomorphic, server-side-rendering, single-page-app
React Isomorphic Boilerplate
🌟 An universal React isomorphic boilerplate for building server-side render web app.
Stars: ✭ 653 (+209.48%)
Mutual labels:  isomorphic, server-side-rendering
Awesome Nextjs
📔 📚 A curated list of awesome resources : books, videos, articles about using Next.js (A minimalistic framework for universal server-rendered React applications)
Stars: ✭ 6,812 (+3128.44%)
Mutual labels:  isomorphic, server-side-rendering
Hapi React Hot Loader Example
Simple React Hot Loading example with Hapi Server-side rendering
Stars: ✭ 44 (-79.15%)
Mutual labels:  isomorphic, server-side-rendering
Saturn
Opinionated, web development framework for F# which implements the server-side, functional MVC pattern
Stars: ✭ 540 (+155.92%)
Mutual labels:  mvc-framework, server-side-rendering
Redux Connect
Provides decorator for resolving async props in react-router, extremely useful for handling server-side rendering in React
Stars: ✭ 551 (+161.14%)
Mutual labels:  isomorphic, server-side-rendering
Typescript Hapi React Hot Loader Example
Simple TypeScript React Hot Loading example with Hapi Server-side rendering
Stars: ✭ 44 (-79.15%)
Mutual labels:  isomorphic, server-side-rendering
React Head
⛑ SSR-ready Document Head tag management for React 16+
Stars: ✭ 262 (+24.17%)
Mutual labels:  isomorphic, server-side-rendering
Otter
A server that runs your client-side apps.
Stars: ✭ 80 (-62.09%)
Mutual labels:  server-side-rendering, single-page-app
Egg Vue Webpack Boilerplate
Egg Vue Server Side Render (SSR) / Client Side Render (CSR)
Stars: ✭ 1,302 (+517.06%)
Mutual labels:  isomorphic, server-side-rendering
Marko
A declarative, HTML-based language that makes building web apps fun
Stars: ✭ 10,796 (+5016.59%)
Mutual labels:  isomorphic, server-side-rendering
Easywebpack
A Simple, Powerful Webpack Front-End Development Solution
Stars: ✭ 452 (+114.22%)
Mutual labels:  server-side-rendering, single-page-app
Angular Ssr
Angular 4+ server-side rendering solution compatible with @angular/material, jQuery, and other libraries that touch the DOM (as well as providing a rich feature set!)
Stars: ✭ 283 (+34.12%)
Mutual labels:  isomorphic, server-side-rendering
Universal Router
A simple middleware-style router for isomorphic JavaScript web apps
Stars: ✭ 1,598 (+657.35%)
Mutual labels:  server-side-rendering, single-page-app
Go Starter Kit
[abandoned] Golang isomorphic react/hot reloadable/redux/css-modules/SSR starter kit
Stars: ✭ 2,855 (+1253.08%)
Mutual labels:  isomorphic, server-side-rendering
Universal
Seed project for Angular Universal apps featuring Server-Side Rendering (SSR), Webpack, CLI scaffolding, dev/prod modes, AoT compilation, HMR, SCSS compilation, lazy loading, config, cache, i18n, SEO, and TSLint/codelyzer
Stars: ✭ 669 (+217.06%)
Mutual labels:  isomorphic, server-side-rendering
movies
Real world isomorphic application for movies search, based on Webpack 5 / Express / React 17 + Redux-Saga / Bootstrap 4.6 + CSS Modules / i18next / SSR
Stars: ✭ 20 (-90.52%)
Mutual labels:  isomorphic, server-side-rendering
React Server Example Tsx
⚛️ Boilerplate for isomorphic web app with React server-side rendering in TypeScript
Stars: ✭ 256 (+21.33%)
Mutual labels:  isomorphic, server-side-rendering
Universal React Demo
ES6 demo of a simple but scalable React app with react-router, code splitting, server side rendering, and tree shaking.
Stars: ✭ 50 (-76.3%)
Mutual labels:  isomorphic, server-side-rendering
Razzle Material Ui Styled Example
Razzle Material-UI example with Styled Components using Express with compression
Stars: ✭ 117 (-44.55%)
Mutual labels:  isomorphic, server-side-rendering

react-imvc v2.0

Build Status dependencies Status PRs-welcome

NPM

2.0 升级指南

1.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 react-dom react-imvc

使用 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

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

欢迎提 Issue 和 Pull Request

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].