koa-router 返回404
来源:5-3 服务端渲染的entry配置
 
			weibo_姚望微晨_0
2018-08-22
{ request:
{ method: 'GET',
url: '/',
header:
{ host: 'localhost:3333',
connection: 'keep-alive',
'cache-control': 'max-age=0',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9' } },
response:
{ status: 404,
message: 'Not Found',
header:
{ 'content-type': 'text/plain; charset=utf-8',
'content-length': '9' } },
app: { subdomainOffset: 2, proxy: false, env: 'development' },
originalUrl: '/',
req: '<original node req>',
res: '<original node res>',
socket: '<original node socket>' }
2回答
- 
				  weibo_姚望微晨_0 提问者 2018-08-27 路由代码 const Router = require('koa-router')() const axios = require('axios') const path = require('path') const fs = require('fs') const MemoryFS = require('memory-fs') const webpack = require('webpack') const VueServerRenderer = require('vue-server-renderer') const serverRender = require('./server-render') const serverConfig = require('../../build/webpack.config.server') const serverCompiler = webpack(serverConfig) const mfs = new MemoryFS() serverCompiler.outputFileSystem = mfs // console.log('--------------------------------') // console.log(serverConfig.output.path) let bundle serverCompiler.watch({}, (err, stats) => { if (err) throw err stats = stats.toJson() stats.errors.forEach(err => console.log(err)) stats.warnings.forEach(warn => console.warn(err)) const bundlePath = path.join( serverConfig.output.path, 'vue-ssr-server-bundle.json' ) bundle = JSON.parse(mfs.readFileSync(bundlePath, 'utf-8')) console.log('new bundle generated') }) const handleSSR = async (ctx) => { console.log(ctx) if (!bundle) { ctx.body = '你等一会,别着急......' return } const clientManifestResp = await axios.get( 'http://127.0.0.1:8001/public/vue-ssr-client-manifest.json' ) const clientManifest = clientManifestResp.data const template = fs.readFileSync( path.join(__dirname, '../server.template.ejs'), 'utf-8' ) const renderer = VueServerRenderer .createBundleRenderer(bundle, { inject: false, clientManifest }) await serverRender(ctx, renderer, template) } // const router = new Router() Router.get('*', handleSSR) module.exports = Router 00
- 
				  Jokcy 2018-08-24 然后呢?你的路由代码呢? 052018-09-12
相似问题
