Tag: expressjs

在使用React路由器时得到这个错误TypeError:type.toUpperCase不是函数

我正在开发一个使用react和express.js的同构应用程序。 我正在使用React路由器进行客户端路由。 运行应用程序时,我正在控制台中出现错误和警告 警告 :失败propType:提供给Route ,期望function objecttypes的prop handler无效。 警告 :提供给UnknownComponent期望function objecttypes的未定义handler无效。 TypeError:type.toUpperCase不是一个函数 这里是components / main.jsx的代码 var React = require('react'); var Counter = require('./flashCard.js'); var RouterModule = require('react-router'); var RouteHandler = require('react-router').RouteHandler var routes = require('./routes.js') var APP = React.createClass({ render: function() { return ( <html> <head> <title>8 facts</title> <link rel="stylesheet" type="text/css" href="/stylesheets/style.css"/> <script src="/javascripts/bundle.js"></script> </head> […]

使用Webpack中为客户端定义的别名反应呈现,但有问题

使用Webpack中定义的Alias为客户端反应呈现,但是当尝试在使用Express的Node服务器上呈现问题时。 我已经在webpack例子中定义了一些别名 resolve: { extensions: ['', '.js', '.jsx', '.cjsx', '.coffee', '.json'], alias: { pages: path.join(__dirname, 'js/MGPages.js'), } }, 但是当需要我在节点服务器上的主要应用程序文件时,我得到以下错误 Error: Cannot find module 'pages' 客户端别名工作正常,但我怎么能在节点服务器端解决这个问题。 我不想在客户端的反应组件上更改导入文件的代码。

我应该使用快递,客户端反应路由器还是服务器端反应路由器?

我有一个简单的应用程序,显示用户的评论列表。 当用户点击时,应用程序应该去/users/<id>并显示一个新的页面与用户的细节,将从MongoDB查询。 我很难理解这个逻辑应该在哪里。 我看到了在客户端使用反应路由器的例子,如: render(( <Router> <Route path="/" component={App}> <Route path="/user/:userId" component={User}/> </Route> </Router> ), document.body) 而且在服务器端也是这样的: <Route name="root" path="/" handler={require('./handlers/Root')}> 而且还使用快速路由: app.get('/', function home (req, res, next) { res.render('layout', { reactHtml: React.renderToString(<App />) }); }); app.get('/user', function home (req, res, next) { res.render('layout', { reactHtml: React.renderToString(<User />) }); }); 哪一条路要走? 有什么区别?

警告:React试图在容器中重用标记,但校验和无效

我试图得到一个同构的Node.js,Express,Webpack,React应用程序工作。 我收到以下错误。 有关如何解决它的任何build议? Warning: React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the […]