Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用React头盔进行React路由器服务器端渲染?_Javascript_Node.js_Reactjs_React Router_Helmet.js - Fatal编程技术网

Javascript 使用React头盔进行React路由器服务器端渲染?

Javascript 使用React头盔进行React路由器服务器端渲染?,javascript,node.js,reactjs,react-router,helmet.js,Javascript,Node.js,Reactjs,React Router,Helmet.js,我只是在学英语。我想用React js、React路由器和React头盔进行整版服务器端渲染 但我面临着这个错误 TypeError:无法读取未定义的属性“create” 我使用此github回购协议作为参考: server.js import express from 'express'; import mysql from 'mysql'; import webpack from 'webpack'; import path from 'path'; import config from

我只是在学英语。我想用React js、React路由器和React头盔进行整版服务器端渲染

但我面临着这个错误

TypeError:无法读取未定义的属性“create”

我使用此github回购协议作为参考:

server.js

import express from 'express';
import mysql from 'mysql';
import webpack from 'webpack';
import path from 'path';
import config from './webpack.config.dev';
import React from 'react';

import  Router from 'react-router';
import Helmet from 'react-helmet';
import routes from './src/App';


const app = express();

const compiler = webpack(config);

app.use(require('webpack-dev-middleware')(compiler, {
    noInfo: true,
    publicPath: config.output.publicPath
}));
//
// app.use(require('webpack-hot-middleware')(compiler));

app.set('view engine','ejs');
app.use(express.static('./public'));
const pool = mysql.createPool({
    connectionLimit:100,
   host:'127.0.0.1',
    user:'root',
    password:'123456',
    database:'naveen'
});

app.get('*',function (req,res) {
    let router  = Router.create({
        location:req.url,
        routes:routes
    });
    router.run(function (Root,state) {
        let renderedBody = React.renderToString(<Root/>);
        let head = Helmet.rewind();



        let html = `
      <!DOCTYPE html>
      <html>
      <head>
         <meta charset="utf-8"/>
         <title>${head.title}</title>
                    ${head.meta}
                    ${head.link}
      </head>
      <body>
         <div id="app">${renderedBody}</div>
         <script src="./public/bundle.js"></script>

      </body>
      </html>




    `;
        res.write(html);
        res.end();




    })


});

app.get('/api',function (req,res) {
  pool.getConnection(function (err,connection) {
      connection.query('SELECT * FROM users',function (err,rows) {
          if(err) throw err;
          console.log(rows[0]);
          res.send(rows);
          connection.release()
      })
  })
});
const port = 3000;
console.log(`Server Initializing  ${port}`);
app.listen(port,function (err) {
   if(err) throw err;
    console.log(`I am Alive at ${port} `)
});
从“express”导入express;
从“mysql”导入mysql;
从“网页包”导入网页包;
从“路径”导入路径;
从“./webpack.config.dev”导入配置;
从“React”导入React;
从“反应路由器”导入路由器;
从“反应头盔”导入头盔;
从“/src/App”导入路由;
常量app=express();
const compiler=webpack(config);
app.use(需要('webpack-dev-middleware')(编译器{
没错,
publicPath:config.output.publicPath
}));
//
//app.use(需要('webpack-hot-middleware')(编译器));
app.set('view engine','ejs');
应用程序使用(快速静态('./公共');
constpool=mysql.createPool({
连接限制:100,
主持人:'127.0.0.1',
用户:'root',
密码:'123456',
数据库:'naveen'
});
app.get('*',函数(req,res){
让router=router.create({
位置:req.url,
路线:路线
});
router.run(函数(根、状态){
让renderBody=React.renderToString();
让头=头盔。倒带();
让html=`
${head.title}
${head.meta}
${head.link}
${renderedBody}
`;
res.write(html);
res.end();
})
});
app.get('/api',函数(req,res){
pool.getConnection(函数(err,connection){
connection.query('SELECT*FROM users',函数(err,rows){
如果(错误)抛出错误;
console.log(行[0]);
res.send(行);
connection.release()
})
})
});
常数端口=3000;
log(`Server initialization${port}`);
应用程序侦听(端口、功能(错误){
如果(错误)抛出错误;
log(`I在${port}`处处于活动状态)
});

还有其他错误吗?很难知道哪个create()是未定义的。不确定这是否真的影响很大,但我会修复路由器的导入,以便只有一个空间。还有其他错误吗?很难知道哪个create()是未定义的。不确定这是否真的影响很大,但我会修复路由器的导入,以便只有一个空间。