请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

【已解决】ERROR: connect ECONNREFUSED 127.0.0.1:8000

图片描述

dev-ssr.js 代码我对比之后是跟老师完全一样的

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

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) => {
if (!bundle) {
ctx.body = '你等一会,别着急…'
return
}

const clientManifestResp = await axios.get(
http://127.0.0.1:8000/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

23733
收起

正在回答 回答被采纳积分+3

1回答

提问者 warzsy 2018-09-11 15:43:45

已解决

先执行 cnpm run dev:client

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号