我試圖讓我的應用程序從服務器渲染,因此正在努力實現從這裏ServerRendering例如:http://redux.js.org/docs/recipes/ServerRendering.html服務器渲染的SyntaxError與之反應/終極版/快遞
我可以成功運行server.js但我得到一個「未捕獲的SyntaxError:意外的令牌<」錯誤@ bundle.js:2一旦我加載本地主機。我相信,它與renderFullPage()函數來完成:
function renderFullPage(html, initialState) {
return `
<!doctype html>
<html>
<head>
<title>Redux Universal Example</title>
</head>
<body>
<div id="root">${html}</div>
<script>
window.__INITIAL_STATE__ = ${JSON.stringify(initialState)}
</script>
<script src="/dist/bundle.js"></script>
</body>
</html>
`
}
如果我刪除線<script src="/dist/bundle.js"></script>
錯誤消失,但此時計數器不工作。
這裏是bundle.js的錯誤引用:
在我的DIST文件夾應當參照bundle.js但它不是出於某種原因?如果我使index.html文件與renderFullPage返回的內容完全相同,除了擺脫${html}
和 <script> window.__INITIAL_STATE__ = ${JSON.stringify(initialState)} </script>
那麼計數器就可以正常工作。當我做服務器端渲染時,它看起來像客戶端無法找到bundle.js代碼,因此創建一個與從服務器接收到的代碼完全相同的代碼,所以當它運行到html時出現錯誤它期待着JavaScript。
」如果我刪除該行,錯誤消失,但計數器不起作用。「你在說什麼? – David
,我認爲問題是客戶端沒有拿起/dist/bundle.js文件,這是我的webpack輸出到的文件。 –
呵呵......那個在我之前沒有露面......對不起 – David