我希望我的服务器代码能够用ES-5本身编写。在我的server.js
文件中,我导入了client.js文件。
在client.js
// i am only pasting the necessary codes i have written.
export default render = (req, res) => {
const componentHTML = ReactDOM.renderToString(
<Provider store={store}>
<RouterContext {...props} />
</Provider>);
res.status(200).send(`<html>
<head><title>Test</title></head>
<body><div id="app">${componentHTML}</div>
<script type="text/javascript" src="./app.js"></script>
</body></html>`);
}
而我的server.js文件是
import App from './client.js';
const express = require('express');
app.use(express.static(publicPath));
app.get('*', App);
当我捆绑我的server.js文件,client.js文件并运行时,完美地运行。
但我想在我的server.js文件中导入我的捆绑客户端文件,这样我就可以只运行node ./server.js
。
所以我尝试更改看起来像
const App = require('./dist/client.bundle.js');
console.log(App) // output is {} why ??;
const express = require('express');
app.use(express.static(publicPath));
app.get('*', App); // i also tried App.default both didn't work
运行后我得到了这个错误。
/home/Work/test/node_modules/express/lib/router/route.js:196 抛出新错误(msg); ^错误:Route.get()需要回调函数但得到[对象对象]
如果我在服务器代码中导入捆绑文件,为什么会出现此错误?
由于