我有一个用react.js编写的应用程序,我在其中使用服务器端渲染。 这是我的服务器端。 server.js
import React from 'react';
import ReactDOMServer from 'react-dom/server';
import App from './src/App';
const express = require('express');
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname,'public')));
app.set('view engine','ejs');
const data= ReactDOMServer.renderToString(<App />);
app.get('/',(req,res)=>{
res.render(path.resolve('./views/index.ejs'),{data})
});
app.listen(process.env.PORT || 3000,()=>console.log('server listen to port 3000'));
这是App.js,我在其中使用alert('SSR')
import React from 'react';
function App() {
alert('SSR')
return (
<div>
<h1>Hello World !</h1>
</div>
)
}
export default App;
节点向我显示错误ReferenceError:未定义警报
C:\Users\mher.garanyan\Desktop\SSR\node_modules\react-dom\cjs\react-dom-server.node.development.js:3555
throw err;
^
ReferenceError: alert is not defined
at App (C:\Users\mher.garanyan\Desktop\SSR\src/App.js:4:5)
at processChild (C:\Users\mher.garanyan\Desktop\SSR\node_modules\react-dom\cjs\react-dom-server.node.development.js:3204:14)
at resolve (C:\Users\mher.garanyan\Desktop\SSR\node_modules\react-dom\cjs\react-dom-server.node.development.js:3124:5)
at ReactDOMServerRenderer.render (C:\Users\mher.garanyan\Desktop\SSR\node_modules\react-dom\cjs\react-dom-server.node.development.js:3598:22)
at ReactDOMServerRenderer.read (C:\Users\mher.garanyan\Desktop\SSR\node_modules\react-dom\cjs\react-dom-server.node.development.js:3536:29)
at Object.renderToString (C:\Users\mher.garanyan\Desktop\SSR\node_modules\react-dom\cjs\react-dom-server.node.development.js:4245:27)
at Object.<anonymous> (C:\Users\mher.garanyan\Desktop\SSR/server.js:12:28)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Module._compile (C:\Users\mher.garanyan\Desktop\SSR\node_modules\pirates\lib\index.js:99:24)
at Module._extensions..js (internal/modules/cjs/loader.js:789:10)
[nodemon] app crashed - waiting for file changes before starting...
请告诉我如何解决错误。