介绍
express 视图引擎 tsx 的实现 .
安装
npm install express-tsx typescript --save
使用示例
主文件
const { expressTsx,expressTsxMiddleware } = require('../')
const server = expressTsx(__dirname)
server.listen(9000,function(){ console.log(`server is running on ${this.address().port}`) })
server.use(expressTsxMiddleware)
server.use('/',(req,res)=>res.render('./view.tsx'))
视图文件
import React = require('react')
console.log('express-tsx' as any)
export default ()=>
<div>
hello world
</div>
示例运行
实现流程
深入使用
示例1
替换 res.locals.express_tsx_html
函数来输入你自己的 html
结构来应对 seo
等情况
- 替换
res.locals.express_tsx_html
函数, 相关代码片段:
源文件
const render2 = expressTsx(__dirname)
render2.use((req,res,next)=>{
let originTsxHTML = res.locals.express_tsx_html
res.locals.express_tsx_html = async(...r)=>{
return (await originTsxHTML(...r)).replace(`<body>`,`<body>render by diy html function`)
}
next()
})
render2.use('/',(req,res)=>res.render(renderFile))