介绍
这是 express 中 jsx 模板渲染的一个实现 .
使用
app 主文件
import Express = require('express')
export const app = Express()
import { render,requirejsConfig,defaultOptions } from "../src";
requirejsConfig({
paths:{
'requirejs' :'https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.3/require.min',
'react' :'https://cdnjs.cloudflare.com/ajax/libs/react/15.5.4/react',
'react-dom' :'https://cdnjs.cloudflare.com/ajax/libs/react/15.5.4/react-dom',
},
shim:{
'react-dom' :['react']
}
})
app.engine('.tsx',render({
ssr:false,
}))
defaultOptions.placeholder = 'loading'
app.set('views',__dirname+'/views')
app.set('view engine','tsx')
app.get('/',(req,res)=>res.render('ssrRender',{ who:'express-tsx', title:'express-tsx' }))
tsx 视图文件
export default (props)=>
<div onClick={ ()=>alert(props.who) }>
hello {props.who}
</div>
优化
- https push
如果你使用
spdy
的话 , 将会预推送文件到客户端 , 加快加载
示例运行