2 Star 1 Fork 0

林岑影 / next-redux-demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
server.js 1.58 KB
一键复制 编辑 原始数据 按行查看 历史
林岑影 提交于 2020-10-27 16:09 . fix: 服务端数据没有渲染
const path = require('path')
const express = require('express')
const next = require('next')
const cookieParser = require('cookie-parser')
const { createProxyMiddleware } = require('http-proxy-middleware')
const routes = require('./routes')
const dev = process.env.NODE_ENV !== 'production'
const app = next({ dir: '.', dev })
const handle = routes.getRequestHandler(app)
const PORT = process.env.PORT || 8033
const resolve = file => path.resolve(__dirname, file)
const serve = (path, cache) => express.static(resolve(path), { maxAge: cache && !dev ? 60 * 60 * 24 * 30 : 0 })
const proxyTable = {
'/api': {
target: 'https://www.vue-js.com',
changeOrigin: true,
pathRewrite: {
'^/api': '/api'
}
}
}
app.prepare().then(() => {
const server = express()
Object.keys(proxyTable).forEach(function (context) {
let options = proxyTable[context]
if (typeof options === 'string') {
options = {
target: options
}
}
server.use(createProxyMiddleware(context, options))
})
server.use(cookieParser())
server.use('/favicon.ico', serve('./public/tatic/favicon.ico'))
server.use('/sw.js', serve('./public/static/sw.js'))
server.get('/article/:id', (req, res) => {
return app.render(req, res, '/article', { id: req.params.id })
})
server.get('*', (req, res) => {
return handle(req, res)
})
server.listen(PORT, err => {
if (err) throw err
console.log(`> App running at:`)
console.log(` - http://localhost:${PORT}/`)
})
})
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/lincenying/next-redux-demo.git
git@gitee.com:lincenying/next-redux-demo.git
lincenying
next-redux-demo
next-redux-demo
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891