All Projects → djyde → Serlina

djyde / Serlina

Licence: mit
A progressive React serverside-rendering framework.

Programming Languages

typescript
32286 projects

Labels

Projects that are alternatives of or similar to Serlina

Auth Module
auth.nuxtjs.org
Stars: ✭ 1,624 (+1102.96%)
Mutual labels:  ssr
Uvue
Vue CLI plugin to create universal Vue applications with ease
Stars: ✭ 119 (-11.85%)
Mutual labels:  ssr
Koa React Isomorphic
Boilerplate for Koa & React
Stars: ✭ 128 (-5.19%)
Mutual labels:  ssr
Subscribe2clash
v2ray\trojan\ss\ssr\ssd订阅转换Clash规则配置,自动更新ACL4SSR路由规则
Stars: ✭ 112 (-17.04%)
Mutual labels:  ssr
Razzle Material Ui Styled Example
Razzle Material-UI example with Styled Components using Express with compression
Stars: ✭ 117 (-13.33%)
Mutual labels:  ssr
Universal Router
A simple middleware-style router for isomorphic JavaScript web apps
Stars: ✭ 1,598 (+1083.7%)
Mutual labels:  ssr
React Async Component
Resolve components asynchronously, with support for code splitting and advanced server side rendering use cases.
Stars: ✭ 1,441 (+967.41%)
Mutual labels:  ssr
Surmon.me
🆒 My personal website and blog, powered by @vuejs (3)
Stars: ✭ 1,767 (+1208.89%)
Mutual labels:  ssr
Sspanel Autocheckin
🚀 SSPanel 流量自动签到脚本
Stars: ✭ 116 (-14.07%)
Mutual labels:  ssr
Svelte Navigator
Simple, accessible routing for Svelte
Stars: ✭ 125 (-7.41%)
Mutual labels:  ssr
React Async Bootstrapper
Execute a bootstrap method on your React/Preact components. Useful for data prefetching and other activities.
Stars: ✭ 113 (-16.3%)
Mutual labels:  ssr
Reeakt
A modern React boilerplate to awesome web applications
Stars: ✭ 116 (-14.07%)
Mutual labels:  ssr
React App Architecture
React.js Isomorphic Web Application Architecture - Learn to build a complete website for a blogging platform like Medium, FreeCodeCamp, MindOrks etc using React.js, Redux, Material-UI, Express.js, Typescript, Webpack, Babel, and Docker. OpenSource project by AfterAcademy
Stars: ✭ 122 (-9.63%)
Mutual labels:  ssr
Koa React Universal
lightweight React-Koa2 universal boilerplate, only what is essential
Stars: ✭ 112 (-17.04%)
Mutual labels:  ssr
Fanqiang Book
2021科学上网指南,小白图文攻略 | 翻墙/梯子/自由上网/SSR/V2Ray/
Stars: ✭ 127 (-5.93%)
Mutual labels:  ssr
Aspnetcore Angular Universal
ASP.NET Core & Angular Universal advanced starter - PWA w/ server-side rendering for SEO, Bootstrap, i18n internationalization, TypeScript, unit testing, WebAPI REST setup, SignalR, Swagger docs, and more! By @TrilonIO
Stars: ✭ 1,455 (+977.78%)
Mutual labels:  ssr
Awssetup
用亚马逊云AWS搭建免费VPN服务
Stars: ✭ 121 (-10.37%)
Mutual labels:  ssr
Egg React Ssr
最小而美的Egg + React + SSR 服务端渲染应用骨架,同时支持JS和TS
Stars: ✭ 1,837 (+1260.74%)
Mutual labels:  ssr
Nostalgie
Nostalgie is an opinionated, full-stack, runtime-agnostic framework for building web apps and web pages using react.
Stars: ✭ 130 (-3.7%)
Mutual labels:  ssr
Gank
🦅 Gank api base △ next.js (react&ssr)
Stars: ✭ 122 (-9.63%)
Mutual labels:  ssr

logo npm downloads CircleCI

A progressive React serverside-rendering framework.

Motivation

I love using Next.js, but most of my projects need to use our own web server framework while Next.js run it own server. So I begin making a SSR framework (core) that like Next.js but open for server implementation. It does all the building, compiling, rendering-to-string things and give the rest render-to-html things to your own web server.

Of course I know Next.js can custom server and routing, but while Next.js handle the whole http context, I cannot use it in a high layer web framework.

Read the announcing post

Integrations

Quick Start

npm i serlina react react-dom --save

Create a folder structure like:

├── index.js
├── pages
│   └── page1.js
// pages/page1.js

export default () => {
  return <div>Hello Serlina!</div>
}

And implement a most simple http server:

// index.js

const { Serlina } = require('serlina')
const path = require('path')

const http = require('http')

const serlina = new Serlina({
  baseDir: path.resolve(__dirname, './')
})

serlina.prepare()
  .then(() => {
    http.createServer(async (req, res) => {
        res.writeHead(200, { 'Content-Type': 'text/html' })
        if (req.url === '/page1') {
          const rendered = await serlina.render('page1')
          res.write(rendered.body)
        } else {
          res.write('works!')
        }
        res.end()
    }).listen(8090)
  })
  .catch(console.error)

Open http://localhost:8090/page1, you will see the page you wrote in React!

Documentation

Visit Full Doc

Who is using?

Please create an issue or PR to tell us you are using Serlina!

Development

npm run bootstrap

npm test # run test

License

MIT License

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].