Skip to content

Commit

Permalink
Merge pull request #465 from harttle/refactor-remove-ssr
Browse files Browse the repository at this point in the history
refactor: move ssr into github.com/searchfe/san-ssr, #441
  • Loading branch information
errorrik committed Dec 27, 2019
2 parents f8033cc + b1d2682 commit 7ba2f41
Show file tree
Hide file tree
Showing 206 changed files with 208 additions and 2,777 deletions.
30 changes: 14 additions & 16 deletions dist/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,25 @@
以下版本的发布文件包含在 `npm``CDN` 中。`github` 做为源码管理仓库,不包含发布文件。


版本 | 兼容性 | 错误提示 | DevTool | 组件反解 | 服务端渲染 | 语法压缩
------ | ------- | ------- | ------- | ------- | ------- | -------
san.js | ✔ | ✖ | ✖ | ✔ | ✖ | ✖
san.min.js | ✔ | ✖ | ✖ | ✔ | ✖ | ✔
san.dev.js | ✔ | ✔ | ✔ | ✔ | ✖ | ✖
san.modern.js | ✖ | ✖ | ✖ | ✔ | ✖ | ✖
san.modern.min.js | ✖ | ✖ | ✖ | ✔ | ✖ | ✔
san.modern.dev.js | ✖ | ✔ | ✔ | ✔ | ✖ | ✖
san.spa.js | ✔ | ✖ | ✖ | ✖ | ✖ | ✖
san.spa.min.js | ✔ | ✖ | ✖ | ✖ | ✖ | ✔
san.spa.dev.js | ✔ | ✔ | ✔ | ✖ | ✖ | ✖
san.spa.modern.js | ✖ | ✖ | ✖ | ✖ | ✖ | ✖
san.spa.modern.min.js | ✖ | ✖ | ✖ | ✖ | ✖ | ✔
san.spa.modern.dev.js | ✖ | ✔ | ✔ | ✖ | ✖ | ✖
san.ssr.js | ✔ | ✔ | ✔ | ✔ | ✔ | ✖
版本 | 兼容性 | 错误提示 | DevTool | 组件反解 | 语法压缩
------ | ------- | ------- | ------- | ------- | -------
san.js | ✔ | ✖ | ✖ | ✔ | ✖
san.min.js | ✔ | ✖ | ✖ | ✔ | ✔
san.dev.js | ✔ | ✔ | ✔ | ✔ | ✖
san.modern.js | ✖ | ✖ | ✖ | ✔ | ✖
san.modern.min.js | ✖ | ✖ | ✖ | ✔ | ✔
san.modern.dev.js | ✖ | ✔ | ✔ | ✔ | ✖
san.spa.js | ✔ | ✖ | ✖ | ✖ | ✖
san.spa.min.js | ✔ | ✖ | ✖ | ✖ | ✔
san.spa.dev.js | ✔ | ✔ | ✔ | ✖ | ✖
san.spa.modern.js | ✖ | ✖ | ✖ | ✖ | ✖
san.spa.modern.min.js | ✖ | ✖ | ✖ | ✖ | ✔
san.spa.modern.dev.js | ✖ | ✔ | ✔ | ✖ | ✖



- `兼容性`: 能兼容老的ie浏览器。只面向mobile或现代浏览器的应用场景可以选择无兼容性的发布版
- `错误提示`: 一些编译或运行时的错误信息将抛出异常。比如模板只允许一个根元素、数据类型校验、数据设值时表达式错误等
- `DevTool`: 组件初始化和销毁将通知开发者工具,使工具能够进行组件状态的追踪和查看
- `组件反解`: 从现有的 HTML 结构中解析出组件实例的能力
- `服务端渲染`: 将组件编译成 render 方法或 render 源码的能力
- `语法压缩`: 使用 uglify-js 对源码进行压缩处理
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"scripts": {
"dev": "node ./tool/dev.js",
"dev:unit": "npx karma start ./test/karma.conf.js start",
"pretest": "npm run build && node ./test/ssr/build-test.js && node ./test/perf/index.js",
"pretest": "npm run build && node ./test/ssr/build-test.js",
"size": "npm run build && gzip -k dist/san.spa.modern.min.js && stat dist/san.spa.modern.min.js.gz && rm -f dist/*.gz",
"test": "npm run test:unit",
"test:unit": "npx karma start ./test/karma.conf.js --single-run",
Expand All @@ -20,7 +20,7 @@
"build": "node ./tool/build.js"
},
"types": "types",
"main": "dist/san.ssr.js",
"main": "dist/san.dev.js",
"browser": "dist/san.dev.js",
"unpkg": "dist/san.min.js",
"files": [
Expand Down
29 changes: 0 additions & 29 deletions src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@
var defineComponent = require('./view/define-component');
var createComponentLoader = require('./view/create-component-loader');
var emitDevtool = require('./util/emit-devtool');
var compileJSSource = require('./view/compile-js-source');
var Data = require('./runtime/data');
var evalExpr = require('./runtime/eval-expr');
var DataTypes = require('./util/data-types');
Expand All @@ -78,34 +77,6 @@
debug: true,
// #[end]

// #[begin] ssr
/**
* 将组件类编译成 renderer 方法
*
* @param {Function} ComponentClass 组件类
* @return {function(Object):string}
*/
compileToRenderer: function (ComponentClass) {
var renderer = ComponentClass.__ssrRenderer;

if (!renderer) {
var code = compileJSSource(ComponentClass);
renderer = (new Function('return ' + code))();
ComponentClass.__ssrRenderer = renderer;
}

return renderer;
},

/**
* 将组件类编译成 renderer 方法的源文件
*
* @param {Function} ComponentClass 组件类
* @return {string}
*/
compileToSource: compileJSSource,
// #[end]

/**
* 组件基类
*
Expand Down
Loading

0 comments on commit 7ba2f41

Please sign in to comment.