🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

ssr

Package Overview
Dependencies
Maintainers
4
Versions
422
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ssr - npm Package Compare versions

Comparing version
7.0.1-beta.1
to
7.0.1
+31
-0
CHANGELOG.md

@@ -0,1 +1,32 @@

## [7.0.1](https://github.com/zhangyuang/ssr/compare/cli@6.2.81...cli@7.0.1) (2025-08-04)
### Bug Fixes
* compile error ([6be2a8f](https://github.com/zhangyuang/ssr/commit/6be2a8ffb65edd91ad8bc9b0ef66a338a8de4218))
* set currentRouter path when use memoryHistory in client ([df7b040](https://github.com/zhangyuang/ssr/commit/df7b040035e39400e3c6ed8256ab0fb0e08f3c61))
* use req.url instead of req.path ([b3e9729](https://github.com/zhangyuang/ssr/commit/b3e972964de7191f2cfb6aa3852a7de8c2fe2b99))
### Features
* add biome.json in example ([b474e2b](https://github.com/zhangyuang/ssr/commit/b474e2bce5e31595fd0297786a76c94f0efd8dd6))
* add plugin-react-oxc ([80ae3bc](https://github.com/zhangyuang/ssr/commit/80ae3bc4c6d39075bb8554822350d5e45f4a8b65))
* add rspack ([f3e4216](https://github.com/zhangyuang/ssr/commit/f3e42167db9ab0b1152ca978f5d7391d6de6c0cf))
* add rspack skip ci ([62d49ca](https://github.com/zhangyuang/ssr/commit/62d49caa0694899930747c60ad1f8cc168f2efba))
* add vite rolldown ([2f348cf](https://github.com/zhangyuang/ssr/commit/2f348cf0ee9ab923b476e284d77c804d4341f9c5))
* add wrap-micro-scope-plugin ([39da637](https://github.com/zhangyuang/ssr/commit/39da63718930490db4f99845d8df20b5636f2c39))
* adjust history order ([67ea802](https://github.com/zhangyuang/ssr/commit/67ea80211140cb4aa018d04789c0cc006e39e438))
* set asset emit to false in rspack server side ([112bc07](https://github.com/zhangyuang/ssr/commit/112bc07775f60c6c82a5c121e7e1efbe592e5712))
* set request router info in csr mode for vue3 ([fa7a59d](https://github.com/zhangyuang/ssr/commit/fa7a59dd36ebb69af988832ac373409201f89659))
* set vue router url with all render modes ([b58f828](https://github.com/zhangyuang/ssr/commit/b58f8281b684f042e0434f87a5d9ce96addfc04a))
* support clientHistoryRouterMode ([5ce75ac](https://github.com/zhangyuang/ssr/commit/5ce75ac352ede9c9af5461c92491f738af892eda))
* support window.ssrRequestPath inject for memoryHistory in vue3 ([ca99c5d](https://github.com/zhangyuang/ssr/commit/ca99c5dd5fed3c1bcd2c440991f7b08bc6f961b3))
* update default source-map type ([4f0543d](https://github.com/zhangyuang/ssr/commit/4f0543df75611bf5e641943f46e639c4630954a3))
* upgrade typescript to v5 ([12f3bed](https://github.com/zhangyuang/ssr/commit/12f3bed51cf94274eb050efae9a1994d71a9b095))
* use biome replace eslint ([8740d4d](https://github.com/zhangyuang/ssr/commit/8740d4dbc66e7f034857f229a04be91ee2aff609))
* use micro plugin in dev ([671ba69](https://github.com/zhangyuang/ssr/commit/671ba695747a00297d640869dcf9d3437944dd58))
## [7.0.1-beta.1](https://github.com/zhangyuang/ssr/compare/cli@7.0.1-beta.1...cli@7.0.1-beta.1) (2025-07-26)

@@ -2,0 +33,0 @@

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAA;AA6CzC,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAiBlC,CAAA;AAED,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAUlC,CAAA;AAED,QAAA,MAAM,UAAU,GAAU,MAAM,IAAI,kBAYnC,CAAA;AA4JD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA"}
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAA;AA4CzC,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAgBlC,CAAA;AAED,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBASlC,CAAA;AAED,QAAA,MAAM,UAAU,GAAU,MAAM,IAAI,kBAYnC,CAAA;AA8JD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA"}

@@ -8,3 +8,2 @@ #!/usr/bin/env node

const yargs = require("yargs");
const clean_1 = require("./clean");
const html_1 = require("./html");

@@ -48,13 +47,12 @@ const preprocess_1 = require("./preprocess");

const startFunc = async (argv) => {
if (!argv.vite) {
await (0, preprocess_1.handleEnv)(argv);
if (argv.tool !== 'vite') {
spinner.start();
}
await (0, clean_1.cleanOutDir)(argv);
process.env.NODE_ENV = 'development';
const { parseFeRoutes, transformConfig, logInfo } = await Promise.resolve().then(() => require('ssr-common-utils'));
await transformConfig();
if (argv.vite) {
if (argv.tool === 'vite') {
logInfo('Vite 场景本地开发样式闪烁为正常现象请忽略,生产环境无此问题');
}
await (0, preprocess_1.handleEnv)(argv);
const watcher = await (0, watcher_1.createWatcher)();

@@ -68,8 +66,7 @@ await parseFeRoutes();

const buildFunc = async (argv) => {
await (0, preprocess_1.handleEnv)(argv);
spinner.start();
await (0, clean_1.cleanOutDir)(argv);
process.env.NODE_ENV = 'production';
const { parseFeRoutes, transformConfig } = await Promise.resolve().then(() => require('ssr-common-utils'));
await transformConfig();
await (0, preprocess_1.handleEnv)(argv);
await parseFeRoutes();

@@ -113,4 +110,6 @@ spinner.stop();

},
vite: {
desc: 'Start application by vite'
tool: {
desc: 'Start application by vite or rspack',
choices: ['webpack', 'vite', 'rspack'],
default: 'webpack'
},

@@ -193,4 +192,4 @@ viteMode: {

const { logWarning } = await Promise.resolve().then(() => require('ssr-common-utils'));
if (argv.vite) {
logWarning(`ssr build by vite is beta now, if you find some bugs, please submit an issue on https://github.com/zhangyuang/ssr/issues or you can use ssr build --vite --legacy which will close manualChunks
if (argv.tool === 'vite') {
logWarning(`ssr build by vite is beta now, if you find some bugs, please submit an issue on https://github.com/zhangyuang/ssr/issues or you can use ssr build --tools vite --legacy which will close manualChunks
to get a stable bundle result but maybe some performance loss

@@ -197,0 +196,0 @@ `);

@@ -1,1 +0,1 @@

{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,eAAO,MAAM,SAAS,GAAU,MAAM,IAAI,kBAqDzC,CAAA"}
{"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,eAAO,MAAM,SAAS,GAAU,MAAM,IAAI,kBAuDzC,CAAA"}

@@ -6,12 +6,21 @@ "use strict";

const path_1 = require("path");
const shelljs_1 = require("shelljs");
const clean_1 = require("./clean");
const handleEnv = async (argv) => {
var _a, _b;
if (argv.vite) {
process.env.VITE = '1';
await (0, clean_1.cleanOutDir)(argv);
process.env.BUILD_TOOL = argv.tool || 'webpack';
const { loadConfig, getCwd, accessFile } = await Promise.resolve().then(() => require('ssr-common-utils'));
const cwd = getCwd();
if (!(await accessFile((0, path_1.resolve)(cwd, `./node_modules/ssr-${process.env.BUILD_TOOL}`)))) {
throw new Error(`ssr-${process.env.BUILD_TOOL} is not installed`);
}
const { loadConfig, getCwd } = await Promise.resolve().then(() => require('ssr-common-utils'));
if (process.env.BUILD_TOOL === 'vite') {
(0, shelljs_1.mkdir)('-p', (0, path_1.resolve)(cwd, './build'));
await fs_1.promises.writeFile((0, path_1.resolve)(cwd, './build/tag.json'), JSON.stringify({
BUILD_TOOL: process.env.BUILD_TOOL
}, null, 2));
}
const { https, isDev, clientPrefix } = loadConfig();
const cwd = getCwd();
process.env.BUILD_TOOL = argv.vite ? 'vite' : 'webpack';
process.env.OPTIMIZE = process.env.BUILD_TOOL === 'webpack' && argv.optimize ? '1' : '0';
process.env.OPTIMIZE = process.env.BUILD_TOOL !== 'vite' && argv.optimize ? '1' : '0';
if (argv.ssg) {

@@ -44,7 +53,2 @@ process.env.SSG = '1';

process.env.SERVER_PORT = argv.port ? String(argv.port) : '3000';
if (argv.vite) {
await fs_1.promises.writeFile((0, path_1.resolve)(cwd, './build/tag.json'), JSON.stringify({
BUILD_TOOL: process.env.BUILD_TOOL
}, null, 2));
}
if (!!https && isDev) {

@@ -51,0 +55,0 @@ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';

@@ -1,1 +0,1 @@

{"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAA;AA6CzC,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAiBlC,CAAA;AAED,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAUlC,CAAA;AAED,QAAA,MAAM,UAAU,GAAU,MAAM,IAAI,kBAYnC,CAAA;AA4JD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA"}
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAA;AA4CzC,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAgBlC,CAAA;AAED,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBASlC,CAAA;AAED,QAAA,MAAM,UAAU,GAAU,MAAM,IAAI,kBAYnC,CAAA;AA8JD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA"}

@@ -5,3 +5,2 @@ #!/usr/bin/env node

import * as yargs from 'yargs';
import { cleanOutDir } from './clean';
import { generateHtml } from './html';

@@ -45,13 +44,12 @@ import { handleEnv } from './preprocess';

const startFunc = async (argv) => {
if (!argv.vite) {
await handleEnv(argv);
if (argv.tool !== 'vite') {
spinner.start();
}
await cleanOutDir(argv);
process.env.NODE_ENV = 'development';
const { parseFeRoutes, transformConfig, logInfo } = await import('ssr-common-utils');
await transformConfig();
if (argv.vite) {
if (argv.tool === 'vite') {
logInfo('Vite 场景本地开发样式闪烁为正常现象请忽略,生产环境无此问题');
}
await handleEnv(argv);
const watcher = await createWatcher();

@@ -64,8 +62,7 @@ await parseFeRoutes();

const buildFunc = async (argv) => {
await handleEnv(argv);
spinner.start();
await cleanOutDir(argv);
process.env.NODE_ENV = 'production';
const { parseFeRoutes, transformConfig } = await import('ssr-common-utils');
await transformConfig();
await handleEnv(argv);
await parseFeRoutes();

@@ -107,4 +104,6 @@ spinner.stop();

},
vite: {
desc: 'Start application by vite'
tool: {
desc: 'Start application by vite or rspack',
choices: ['webpack', 'vite', 'rspack'],
default: 'webpack'
},

@@ -187,4 +186,4 @@ viteMode: {

const { logWarning } = await import('ssr-common-utils');
if (argv.vite) {
logWarning(`ssr build by vite is beta now, if you find some bugs, please submit an issue on https://github.com/zhangyuang/ssr/issues or you can use ssr build --vite --legacy which will close manualChunks
if (argv.tool === 'vite') {
logWarning(`ssr build by vite is beta now, if you find some bugs, please submit an issue on https://github.com/zhangyuang/ssr/issues or you can use ssr build --tools vite --legacy which will close manualChunks
to get a stable bundle result but maybe some performance loss

@@ -191,0 +190,0 @@ `);

@@ -1,1 +0,1 @@

{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,eAAO,MAAM,SAAS,GAAU,MAAM,IAAI,kBAqDzC,CAAA"}
{"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,eAAO,MAAM,SAAS,GAAU,MAAM,IAAI,kBAuDzC,CAAA"}
import { promises } from 'fs';
import { resolve } from 'path';
import { mkdir } from 'shelljs';
import { cleanOutDir } from './clean';
export const handleEnv = async (argv) => {
var _a, _b;
if (argv.vite) {
process.env.VITE = '1';
await cleanOutDir(argv);
process.env.BUILD_TOOL = argv.tool || 'webpack';
const { loadConfig, getCwd, accessFile } = await import('ssr-common-utils');
const cwd = getCwd();
if (!(await accessFile(resolve(cwd, `./node_modules/ssr-${process.env.BUILD_TOOL}`)))) {
throw new Error(`ssr-${process.env.BUILD_TOOL} is not installed`);
}
const { loadConfig, getCwd } = await import('ssr-common-utils');
if (process.env.BUILD_TOOL === 'vite') {
mkdir('-p', resolve(cwd, './build'));
await promises.writeFile(resolve(cwd, './build/tag.json'), JSON.stringify({
BUILD_TOOL: process.env.BUILD_TOOL
}, null, 2));
}
const { https, isDev, clientPrefix } = loadConfig();
const cwd = getCwd();
process.env.BUILD_TOOL = argv.vite ? 'vite' : 'webpack';
process.env.OPTIMIZE = process.env.BUILD_TOOL === 'webpack' && argv.optimize ? '1' : '0';
process.env.OPTIMIZE = process.env.BUILD_TOOL !== 'vite' && argv.optimize ? '1' : '0';
if (argv.ssg) {

@@ -40,7 +49,2 @@ process.env.SSG = '1';

process.env.SERVER_PORT = argv.port ? String(argv.port) : '3000';
if (argv.vite) {
await promises.writeFile(resolve(cwd, './build/tag.json'), JSON.stringify({
BUILD_TOOL: process.env.BUILD_TOOL
}, null, 2));
}
if (!!https && isDev) {

@@ -47,0 +51,0 @@ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';

@@ -1,1 +0,1 @@

{"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"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"}
{
"name": "ssr",
"version": "7.0.1-beta.1",
"version": "7.0.1",
"description": "cli for react/vue2/vue3 ssr deploy on serverless or tradtional web server",

@@ -8,2 +8,6 @@ "main": "./cjs/index.js",

"sideEffects": false,
"scripts": {
"build": "concurrently \"tsc -p ./tsconfig.cjs.json \" \" tsc -p ./tsconfig.esm.json\"",
"watch": "concurrently \"tsc -w -p ./tsconfig.cjs.json \" \"tsc -w -p ./tsconfig.esm.json \""
},
"bin": {

@@ -35,5 +39,5 @@ "ssr": "./cjs/cli.js"

"shelljs": "^0.8.3",
"yargs": "^13.2.4",
"ssr-common-utils": "7.0.1-beta.0",
"ssr-types": "7.0.1-beta.2"
"ssr-common-utils": "^7.0.0",
"ssr-types": "^7.0.0",
"yargs": "^13.2.4"
},

@@ -47,7 +51,3 @@ "engines": {

"concurrently": "^5.1.0"
},
"scripts": {
"build": "concurrently \"tsc -p ./tsconfig.cjs.json \" \" tsc -p ./tsconfig.esm.json\"",
"watch": "concurrently \"tsc -w -p ./tsconfig.cjs.json \" \"tsc -w -p ./tsconfig.esm.json \""
}
}
}
+63
-53

@@ -18,3 +18,3 @@ <div>

<a href="https://www.cypress.io/" target="_blank"><img src="https://img.shields.io/badge/cypress-dashboard-brightgreen.svg" alt="cypress" />
<a href="https://github.com/zhangyuang/ssr" target="_blank"><img src="https://img.shields.io/badge/node-%3E=14-green.svg?color=4dc71f" alt="Node" ></a>
<a href="https://github.com/zhangyuang/ssr" target="_blank"><img src="https://img.shields.io/badge/node-%3E=20-green.svg?color=4dc71f" alt="Node" ></a>
<a href="https://github.com/zhangyuang/ssr" target="_blank"><img src="https://img.shields.io/github/stars/zhangyuang/ssr.svg?color=4dc71f" alt="Node" ></a>

@@ -25,10 +25,22 @@ </div>

## 7.x 版本
`ssr` 框架 `7.x` 版本正在紧密开发中,在 `7.x` 版本中我们将会同时支持 `Webpack` , `Rspack` , `Rolldown-Vite` 三种构建工具来极大的加快构建性能。同时在使用方式上和 `6.x` 版本保持一致,用户可以无缝的从 `6.x` 版本迁移到 `7.x` 版本。
同时在 `7.x` 版本我们设计精简了依赖项,开发者可以只安装当前使用的前端框架和构建工具的依赖项。未使用到的构建工具的相关依赖将不会被安装。
## 简介
`ssr` 框架是为前端框架在服务端渲染的场景下所打造的开箱即用的服务端渲染框架。了解什么是服务端渲染请查看[文档](http://doc.ssr-fc.com/docs/features$ssr)
此框架脱胎于 [egg-react-ssr](https://github.com/zhangyuang/egg-react-ssr) 项目和 `ssr` v4版本`(midway-faas + react ssr)`,在之前的基础上做了诸多演进,通过插件化的代码组织形式,支持任意服务端框架与任意前端框架的组合使用。开发者可以选择通过 `Serverless` 方式部署或是以传统 `Node.js` 的应用形式部署,并且我们专注于提升 `Serverless` 场景下服务端渲染应用的开发体验,打造了一站式的开发,发布应用服务的功能。最大程度提升开发者的开发体验,将应用的开发,部署成本降到最低。
此框架脱胎于 [egg-react-ssr](https://github.com/zhangyuang/egg-react-ssr) 项目和 `ssr` v4版本 `(midway-faas + react ssr)` ,在之前的基础上做了诸多演进,通过插件化的代码组织形式,支持任意服务端框架与任意前端框架的组合使用。开发者可以选择通过 `Serverless` 方式部署或是以传统 `Node.js` 的应用形式部署,并且我们专注于提升 `Serverless` 场景下服务端渲染应用的开发体验,打造了一站式的开发,发布应用服务的功能。最大程度提升开发者的开发体验,将应用的开发,部署成本降到最低。
在最新的版本中,同时支持 `React17/18` 和 `Vue2/Vue3` 作为服务端渲染框架且开发工具侧我们同样支持了最流行的 `Vite` 来提升应用的启动速度和 HMR 速度,且提供一键以 `Serverless` 的形式发布上云的功能。我们可以非常有自信说它是地球上最先进的 `ssr` 框架。如果你希望获得开箱即用的体验且能够一键部署上云,请选择 `ssr` 框架。
在最新的版本中,同时支持 `React17/18/19` 和 `Vue2/Vue3` 作为服务端渲染的前端框架,开发工具侧我们同时支持了 `Vite|Webpack|Rspack` 来提升应用的启动速度,构建速度和 HMR 速度。
阅读我们的 [官方文档](http://doc.ssr-fc.com/) 获得更加详细的了解。事实上文档本身便是用 `ssr` 框架开发并通过 `Serverless` 部署到阿里云服务
在 `Node.js` 框架中,官方默认的 `example` 提供了基于 `Nest.js` 和 `Midway.js` 这两个流行的 `Node.js` 框架与 `ssr` 框架集成示例。当然 `ssr` 框架在设计上不与任何 `Node.js` 框架耦合,开发者可以自由选择使用任何 `Node.js` 框架。
如果你选择的是 `Midway.js` 作为 `Node.js` 框架,那么可以直接使用内置的 `ssr deploy` 命令来一键部署应用到 `阿里云` 或 `腾讯云` 平台。
阅读我们的 [官方文档](http://doc.ssr-fc.com/) 获得更加详细的了解。事实上文档本身便是用 `ssr` 框架开发并部署到阿里云 `Serverless` 服务。
![](https://res.wx.qq.com/op_res/B9tJE-lFR3gCif92sM4BeeqAcoJSZbJK-auM7MACgomrWm58C1moA3BfatZ5gS-tgZHYyk57e0JQRtgdcgho-g)

@@ -38,11 +50,11 @@

- 需要在 `Node.js` 与前端框架结合的场景使用,与其他纯前端的框架不同 `ssr` 框架是专为服务端渲染场景或者 `Node.js` 与前端结合的场景打造的框架
- 需要一个开箱即用的服务端渲染能力,不需要手动去组合不同的前端框架与服务端框架之间的联系
- 需要框架层面的渲染降级能力,在服务端渲染出错时自动降级到客户端渲染
- 需要一个配置简单逻辑清晰的框架, `ssr` 框架的渲染逻辑和应用构建逻辑是同类型框架中最清晰的
- 可能会改动技术栈,如从 `Vue2` 升级为 `Vue3`,从 `Vue3` 降级为 `Vue2` 或 `React/Vue` 互相切换
- 需要在服务端渲染场景下开箱即用使用 `antd` `vant` 等流行 `ui` 库
- 需要能够同时支持 `Webpack`, `Vite` 两种开发工具,以便同时得到快速的启动速度 `HMR` 速度以及稳定的生产环境代码
- 需要在 `Vue3 SSR` 使用 [pinia](https://pinia.vuejs.org/) 作为数据管理方案
- 只是单纯的需要一个更快更好用的 `cra` 或 `vue-cli`, `ssr` 框架在纯 `csr` 场景的支持也十分优秀
* 需要在 `Node.js` 与前端框架结合的场景使用,与其他纯前端的框架不同 `ssr` 框架是专为服务端渲染场景或者 `Node.js` 与前端结合的场景打造的框架
* 需要一个开箱即用的服务端渲染能力,不需要手动去组合不同的前端框架与服务端框架之间的联系
* 需要框架层面的渲染降级能力,在服务端渲染出错时自动降级到客户端渲染
* 需要一个配置简单逻辑清晰的框架, `ssr` 框架的渲染逻辑和应用构建逻辑是同类型框架中最清晰的
* 可能会改动技术栈,如从 `Vue2` 升级为 `Vue3`,从 `Vue3` 降级为 `Vue2` 或 `React/Vue` 互相切换
* 需要在服务端渲染场景下开箱即用使用 `antd` `vant` 等流行 `ui` 库
* 需要能够同时支持 `Webpack`, `Vite` 两种开发工具,以便同时得到快速的启动速度 `HMR` 速度以及稳定的生产环境代码
* 需要在 `Vue3 SSR` 使用 [pinia](https://pinia.vuejs.org/) 作为数据管理方案
* 只是单纯的需要一个更快更好用的 `cra` 或 `vue-cli`, `ssr` 框架在纯 `csr` 场景的支持也十分优秀

@@ -58,14 +70,14 @@ ## 哪些应用在使用

</b></td>
<td align="center" style="width: 120px;"><a target="_blank" href="#"><img src="https://wxa-shop-1258344707.cos.ap-shanghai.myqcloud.com/test/cdn/c8e49fda-d8ef-4332-a2c0-8c9e571883f5.jpeg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDtb4HEuJSLyJNCk11kCNHvIPGp8AvQfdK%26q-sign-time%3D1653378495%3B4294967040%26q-key-time%3D1653378495%3B4294967040%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D2d09dc5ceec264a030da16b747477adf0ae5b647
<td align="center" style="width: 120px; "><a target="_blank" href="#"><img src="https://wxa-shop-1258344707.cos.ap-shanghai.myqcloud.com/test/cdn/c8e49fda-d8ef-4332-a2c0-8c9e571883f5.jpeg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDtb4HEuJSLyJNCk11kCNHvIPGp8AvQfdK%26q-sign-time%3D1653378495%3B4294967040%26q-key-time%3D1653378495%3B4294967040%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D2d09dc5ceec264a030da16b747477adf0ae5b647
" width="120"/><br><sub><b>微信公众平台
</b></sub></a></td>
<td align="center" style="height: 100px"><a href="#" target="_blank"><img src="https://res.wx.qq.com/op_res/wy4vvtyfqW8HjIfBKjba6TNEFBHuAApjJ1FjSQ37OVIdIYtylmiBm2ZeJ79SRtmT4IipU69bDNDw0Rrdnjd9yg
" width="200px;margin: 20px 0" /><br />
" width="200px; margin: 20px 0" /><br />
<a href="#" target="_bvlank"><b>腾讯体育
</b></a></td>
<td align="center" style="height: 100px"><a href="#" target="_blank"><img src="https://res.wx.qq.com/op_res/qc0sXfbvOvZFKVaDy9OLsqHfwHg6U4AemN2MP6YUxEo0EWpK6RyRcj70bIf3GEg5y_WA1wuv4HcfYi2FP7Awkw
" width="200px;margin: 20px 0" /><br />
" width="200px; margin: 20px 0" /><br />
<a href="#" target="_bvlank"><b>QQ会员
</b></a></td>
<td align="center" style="height: 100px"><a href="https://m.film.qq.com/x/tva-vip-center/" target="_blank"><img src="https://res.wx.qq.com/op_res/x7sWI9AfUK1QwH0EDhKp4e_bGWxYOQ_1RlZqBFy9JntJzaE4aRzNhVgmxLNloAFpSQ-mBr9X9pux3QlV9QHHvQ" width="200px;margin: 20px 0" /><br />
<td align="center" style="height: 100px"><a href="https://m.film.qq.com/x/tva-vip-center/" target="_blank"><img src="https://res.wx.qq.com/op_res/x7sWI9AfUK1QwH0EDhKp4e_bGWxYOQ_1RlZqBFy9JntJzaE4aRzNhVgmxLNloAFpSQ-mBr9X9pux3QlV9QHHvQ" width="200px; margin: 20px 0" /><br />
<a href="https://m.film.qq.com/x/tva-vip-center/" target="_bvlank"><b>腾讯视频

@@ -101,6 +113,6 @@ </b></a></td>

</b></a></td>
<td align="center" style="height: 100px"><a href="https://blog.dreamer2q.wang/" target="_blank"><img src="https://res.wx.qq.com/op_res/MxxGgjPFRiTgjiReUefs2aMce-SgNvxxTB9U87YYhcOu6KPw9er7r2Lc0ne-b90nFstTUpc8REDwpxfUreKV1g" width="200px;margin: 20px 0" alt="Dream2qBlog"/><br />
<td align="center" style="height: 100px"><a href="https://blog.dreamer2q.wang/" target="_blank"><img src="https://res.wx.qq.com/op_res/MxxGgjPFRiTgjiReUefs2aMce-SgNvxxTB9U87YYhcOu6KPw9er7r2Lc0ne-b90nFstTUpc8REDwpxfUreKV1g" width="200px; margin: 20px 0" alt="Dream2qBlog"/><br />
<a href="https://blog.dreamer2q.wang/" target="_bvlank"><b>个人博客
</b></a></td>
<td align="center" style="height: 100px"><a href="https://jiawu.dewu.com" target="_blank"><img src="https://cdn.poizon.com/node-common/31116a45953ad8b468c6c832036aac88.png" width="200px;margin: 20px 0" alt="Dream2qBlog"/><br />
<td align="center" style="height: 100px"><a href="https://jiawu.dewu.com" target="_blank"><img src="https://cdn.poizon.com/node-common/31116a45953ad8b468c6c832036aac88.png" width="200px; margin: 20px 0" alt="Dream2qBlog"/><br />
<a href="https://jiawu.dewu.com" target="_bvlank"><b>得物

@@ -117,10 +129,10 @@ </b></a></td>

<td align="center" style="height: 100px"><a href="https://www.habisummercamp.com/" target="_blank"><img src="https://res.wx.qq.com/op_res/XXUpF56bDue53vZadoCSPSnqKF3bZqPOQnqsPa_ngEARa0OUIW22pX7eKsftPb6pc5ny62cR_wXM4g5xJ7G3DQ
" width="200px;margin: 20px 0" alt="Happy"/><br />
" width="200px; margin: 20px 0" alt="Happy"/><br />
<a href="https://www.habisummercamp.com/" target="_bvlank"><b>HappyPC
</b></a></td>
<td align="center" style="height: 100px"><a href="https://m.habisummercamp.com/" target="_blank"><img src="https://res.wx.qq.com/op_res/XXUpF56bDue53vZadoCSPSnqKF3bZqPOQnqsPa_ngEARa0OUIW22pX7eKsftPb6pc5ny62cR_wXM4g5xJ7G3DQ
" width="200px;margin: 20px 0" alt="Happy"/><br />
" width="200px; margin: 20px 0" alt="Happy"/><br />
<a href="https://m.habisummercamp.com/" target="_bvlank"><b>HappyMobile
</b></a></td>
<td align="center" style="width: 120px;"><a target="_blank" href="https://yulebao.alibaba.com/"><img src="https://gw.alicdn.com/tfs/TB1CmlIIFT7gK0jSZFpXXaTkpXa-190-46.png" width="120"/><br><sub><b>阿里影业娱乐宝
<td align="center" style="width: 120px; "><a target="_blank" href="https://yulebao.alibaba.com/"><img src="https://gw.alicdn.com/tfs/TB1CmlIIFT7gK0jSZFpXXaTkpXa-190-46.png" width="120"/><br><sub><b>阿里影业娱乐宝
</b></sub></a></td>

@@ -133,3 +145,3 @@ <td align="center"><a target="_blank" href="https://campaign.vmate.com/vrbollywood"><img src="https://img.alicdn.com/tfs/TB17p6Vhbj1gK0jSZFOXXc7GpXa-512-512.png" width="120" alt="vmate 积分商城"/><br />

</b></a></td>
<td align="center" style="height: 100px"><a href="https://www.paixin.com/" target="_blank"><img src="https://www.paixin.com/favicon.ico" width="200px;margin: 20px 0" /><br />
<td align="center" style="height: 100px"><a href="https://www.paixin.com/" target="_blank"><img src="https://www.paixin.com/favicon.ico" width="200px; margin: 20px 0" /><br />
<a href="https://www.paixin.com/" target="_bvlank"><b>拍信创意

@@ -154,9 +166,9 @@ </b></a></td>

- 🌱 极易定制:前端支持 React17/React18/Vue2/Vue3 等现代Web框架;
- 🚀 开箱即用:内置 10+ 脚手架配套扩展,如 [Pinia](https://pinia.vuejs.org/introduction.html#basic-example)、[antd](https://ant.design/components/overview-cn/)、[vant](https://github.com/youzan/vant)、TypeScript、Hooks等;
- 🧲 插件驱动:基于插件架构,用户更加专注于业务逻辑;
- 💯 Serverless优先:一键发布到各种Serverless平台,也支持传统Web Server,比如Egg、Midway、Nest等。
- 🛡 高可用场景,可无缝从SSR降级到CSR,最佳容灾方案。
- 😄 功能丰富,构建工具同时支持 Webpack/Vite,支持四种渲染模式 `SSR|CSR|SSG|Html`
- ✨ 支持 [bun](https://bun.sh/) 作为 js runtime
* 🌱 极易定制:前端支持 React17/React18/Vue2/Vue3 等现代Web框架;
* 🚀 开箱即用:内置 10+ 脚手架配套扩展,如 [Pinia](https://pinia.vuejs.org/introduction.html#basic-example)、[antd](https://ant.design/components/overview-cn/)、[vant](https://github.com/youzan/vant)、TypeScript、Hooks等;
* 🧲 插件驱动:基于插件架构,用户更加专注于业务逻辑;
* 💯 Serverless优先:一键发布到各种Serverless平台,也支持传统Web Server,比如Egg、Midway、Nest等。
* 🛡 高可用场景,可无缝从SSR降级到CSR,最佳容灾方案。
* 😄 功能丰富,构建工具同时支持 Webpack/Vite,支持四种渲染模式 `SSR|CSR|SSG|Html`
* ✨ 支持 [bun](https://bun.sh/) 作为 js runtime

@@ -200,13 +212,13 @@ ## 已实现的功能

注意: 在 `Midway.js` `Nest.js` 场景下我们都已实现了一键部署到 `Serverless` 平台的能力。但底层实现略有差异。更加详细的介绍可以阅读 [Serverless](http://doc.ssr-fc.com/docs/features$serverless) 章节。如需要大量使用 `Serverless` 平台提供的能力,我们建议创建 `Midway.js` 类型的应用。强烈建议阅读我们的 [官方文档](http://doc.ssr-fc.com/) 来获得更加详细的了解
注意: 在 `Midway.js` `Nest.js` 场景下我们都已实现了一键部署到 `Serverless` 平台的能力。但底层实现略有差异。更加详细的介绍可以阅读 [Serverless](http://doc.ssr-fc.com/docs/features$serverless) 章节。如需要大量使用 `Serverless` 平台提供的能力,我们建议创建 `Midway.js` 类型的应用。强烈建议阅读我们的 [官方文档](http://doc.ssr-fc.com/) 来获得更加详细的了解
- [nestjs-react-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-react-ssr)
- [nestjs-react18-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-react18-ssr)
- [nestjs-vue-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-vue-ssr)
- [nestjs-vue3-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-vue3-ssr)
- [nestjs-vue3-ssr-pinia](https://github.com/zhangyuang/nestjs-vue3-ssr-pinia)
- [midway-react-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-react-ssr)
- [midway-react18-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-react18-ssr)
- [midway-vue-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-vue-ssr)
- [midway-vue3-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-vue3-ssr)
* [nestjs-react-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-react-ssr)
* [nestjs-react18-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-react18-ssr)
* [nestjs-vue-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-vue-ssr)
* [nestjs-vue3-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-vue3-ssr)
* [nestjs-vue3-ssr-pinia](https://github.com/zhangyuang/nestjs-vue3-ssr-pinia)
* [midway-react-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-react-ssr)
* [midway-react18-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-react18-ssr)
* [midway-vue-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-vue-ssr)
* [midway-vue3-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-vue3-ssr)

@@ -226,3 +238,3 @@ 开发者可根据实际技术栈需要创建不同类型的应用快速开始

$ yarn build # 资源构建,等价于 npx ssr build
$ yarn start:vite # 以 vite 模式启动,等价于 npx ssr start --vite
$ yarn start:vite # 以 vite 模式启动,等价于 npx ssr start --tools vite
```

@@ -237,12 +249,11 @@

- http://ssr-fc.com/ 部署到阿里云的 React SSR 应用
- http://ssr-fc.com?csr=true 部署到阿里云的 React SSR 应用, 以 CSR 模式访问
- http://tx.ssr-fc.com 部署到腾讯云的 React SSR 应用
- http://tx.ssr-fc.com?csr=true 部署到腾讯云的 React SSR 应用, 以 CSR 模式访问
- http://vue.ssr-fc.com 部署到阿里云的 Vue SSR 应用
- http://vue3.ssr-fc.com 部署到阿里云的 Vue3 SSR 应用
- http://vue.ssr-fc.com?csr=true 部署到阿里云的 Vue SSR 应用, 以 CSR 模式访问
- http://vue3.ssr-fc.com?csr=true 部署到阿里云的 Vue3 SSR 应用, 以 CSR 模式访问
* http://ssr-fc.com/ 部署到阿里云的 React SSR 应用
* http://ssr-fc.com?csr=true 部署到阿里云的 React SSR 应用, 以 CSR 模式访问
* http://tx.ssr-fc.com 部署到腾讯云的 React SSR 应用
* http://tx.ssr-fc.com?csr=true 部署到腾讯云的 React SSR 应用, 以 CSR 模式访问
* http://vue.ssr-fc.com 部署到阿里云的 Vue SSR 应用
* http://vue3.ssr-fc.com 部署到阿里云的 Vue3 SSR 应用
* http://vue.ssr-fc.com?csr=true 部署到阿里云的 Vue SSR 应用, 以 CSR 模式访问
* http://vue3.ssr-fc.com?csr=true 部署到阿里云的 Vue3 SSR 应用, 以 CSR 模式访问
## 生态系统

@@ -265,3 +276,2 @@

[ssr-status]: https://img.shields.io/npm/v/ssr.svg

@@ -280,3 +290,2 @@ [ssr-core-status]: https://img.shields.io/npm/v/ssr-core.svg

[ssr]: https://github.com/zhangyuang/ssr/tree/dev/packages/cli

@@ -294,2 +303,3 @@ [ssr-core]: https://github.com/zhangyuang/ssr/tree/dev/packages/core

[ssr-webpack]: https://github.com/zhangyuang/ssr/tree/dev/packages/webpack
## CONTRIBUTING

@@ -307,3 +317,3 @@

`注: 由于微信交流群人数限制,进群请添加私人二维码并备注进入 ssr 交流群,由于是私人微信,拉群后将会自行删除好友,敬请谅解。我们更加鼓励通过 issue 和 discussion 来交流问题`
`注: 由于微信交流群人数限制,进群请添加私人二维码并备注进入 ssr 交流群,由于是私人微信,拉群后将会自行删除好友,敬请谅解。我们更加鼓励通过 issue 和 discussion 来交流问题`

@@ -310,0 +320,0 @@ <div style="display:flex">

@@ -6,3 +6,2 @@ #!/usr/bin/env node

import * as yargs from 'yargs'
import { cleanOutDir } from './clean'
import { generateHtml } from './html'

@@ -51,13 +50,12 @@ import { handleEnv } from './preprocess'

const startFunc = async (argv: Argv) => {
if (!argv.vite) {
await handleEnv(argv)
if (argv.tool !== 'vite') {
spinner.start()
}
await cleanOutDir(argv)
process.env.NODE_ENV = 'development'
const { parseFeRoutes, transformConfig, logInfo } = await import('ssr-common-utils')
await transformConfig()
if (argv.vite) {
if (argv.tool === 'vite') {
logInfo('Vite 场景本地开发样式闪烁为正常现象请忽略,生产环境无此问题')
}
await handleEnv(argv)
const watcher = await createWatcher()

@@ -71,8 +69,7 @@ await parseFeRoutes()

const buildFunc = async (argv: Argv) => {
await handleEnv(argv)
spinner.start()
await cleanOutDir(argv)
process.env.NODE_ENV = 'production'
const { parseFeRoutes, transformConfig } = await import('ssr-common-utils')
await transformConfig()
await handleEnv(argv)
await parseFeRoutes()

@@ -119,4 +116,6 @@ spinner.stop()

},
vite: {
desc: 'Start application by vite'
tool: {
desc: 'Start application by vite or rspack',
choices: ['webpack', 'vite', 'rspack'],
default: 'webpack'
},

@@ -206,4 +205,4 @@ viteMode: {

const { logWarning } = await import('ssr-common-utils')
if (argv.vite) {
logWarning(`ssr build by vite is beta now, if you find some bugs, please submit an issue on https://github.com/zhangyuang/ssr/issues or you can use ssr build --vite --legacy which will close manualChunks
if (argv.tool === 'vite') {
logWarning(`ssr build by vite is beta now, if you find some bugs, please submit an issue on https://github.com/zhangyuang/ssr/issues or you can use ssr build --tools vite --legacy which will close manualChunks
to get a stable bundle result but maybe some performance loss

@@ -210,0 +209,0 @@ `)

import { promises } from 'fs'
import { resolve } from 'path'
import { Argv } from 'ssr-types'
import { mkdir } from 'shelljs'
import { cleanOutDir } from './clean'
export const handleEnv = async (argv: Argv) => {
if (argv.vite) {
process.env.VITE = '1'
await cleanOutDir(argv)
process.env.BUILD_TOOL = argv.tool || 'webpack'
const { loadConfig, getCwd, accessFile } = await import('ssr-common-utils')
const cwd = getCwd()
if (!(await accessFile(resolve(cwd, `./node_modules/ssr-${process.env.BUILD_TOOL}`)))) {
throw new Error(`ssr-${process.env.BUILD_TOOL} is not installed`)
}
const { loadConfig, getCwd } = await import('ssr-common-utils')
if (process.env.BUILD_TOOL === 'vite') {
mkdir('-p', resolve(cwd, './build'))
await promises.writeFile(
resolve(cwd, './build/tag.json'),
JSON.stringify(
{
BUILD_TOOL: process.env.BUILD_TOOL
},
null,
2
)
)
}
const { https, isDev, clientPrefix } = loadConfig()
const cwd = getCwd()
process.env.BUILD_TOOL = argv.vite ? 'vite' : 'webpack'
process.env.OPTIMIZE = process.env.BUILD_TOOL === 'webpack' && argv.optimize ? '1' : '0'
process.env.OPTIMIZE = process.env.BUILD_TOOL !== 'vite' && argv.optimize ? '1' : '0'
if (argv.ssg) {

@@ -43,14 +59,2 @@ process.env.SSG = '1'

process.env.SERVER_PORT = argv.port ? String(argv.port) : '3000'
if (argv.vite) {
await promises.writeFile(
resolve(cwd, './build/tag.json'),
JSON.stringify(
{
BUILD_TOOL: process.env.BUILD_TOOL
},
null,
2
)
)
}
if (!!https && isDev) {

@@ -57,0 +61,0 @@ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'