Articles of reactjs

Grails应用程序中的Nodejs

对不起,如果我作为新手下车。 我是前端开发人员。 我将在grails应用程序中创build新的移动视图。 我打算在前端开发中使用Reactjs,但我不确定在Grails应用程序中是否或如何使用Nodejs。 我不是一个圣杯开发者,因此是个问题。 任何可以帮助我理解节点如何与Grails一起工作的实用build议或链接将不胜感激。 谢谢。

React app:使用Node / express作为中间代理服务器

我正在为传统的RESTful API服务器(Golang)构build一个React应用程序。 直接的方法很容易: React –> Redux (or any flux) –> Go server 不过,我现在想插入Node / express作为一个中端,所以堆栈变成: React –> Redux –> Node/express –> Go server 我能想到的好处是: 服务器端渲染 更快的表单validation 在发送到Go API之前清理数据,并有许多令人惊叹的节点包 轻松pipe理身份validation和会话 缺点是显而易见的,随着增加的层次,任何最终转到后端的请求将需要更多的时间来回。 我对build筑非常陌生,知道人们是否在生产项目中使用这个额外的堆栈会很高兴。 经验如何?

如何使用webpack从npm依赖关系编译.less文件?

我正在使用npm模块elemental ,它包含一个/less文件夹以及所有相关样式的反应UI。 我目前正在试图用less-loader来做到这一点: /tasks/config/webpack.js : 'use strict'; let path = require('path'); let ExtractTextPlugin = require('extract-text-webpack-plugin'); module.exports = function(grunt) { grunt.config.set('webpack', { client: { entry: { app: `${process.cwd()}/src/app.jsx`, }, output: { filename: '[name].js', chunkFilename: '[id].js', path: `${process.cwd()}/dist`, }, module: { loaders: [ { test: /\.jsx?$/, exclude: /(node_modules|bower_components|dist)/, loader: 'babel', query: { presets: ['react', 'es2015'], }, }, […]

将variables从react-router传递给子组件

如何从服务器端的react-router传递variables到子组件。 我想通过一些variables传递给由我的组件通过RoutingContext呈现 import { renderToString } from 'react-dom/server' import { match, RouterContext } from 'react-router' import routes from './routes' serve((req, res) => { match({ routes, location: req.url }, (error, redirectLocation, renderProps) => { if (error) { res.status(500).send(error.message) } else if (redirectLocation) { res.redirect(302, redirectLocation.pathname + redirectLocation.search) } else if (renderProps) { res.status(200).send(renderToString(<RouterContext {…renderProps} />)) } […]

React路由器渲染空的div

app div是空的。 里面唯一的东西是一个noscript标签。 var React = require('react'); var ReactDOM = require('react-dom'); var reactRouter = require('react-router'); var Router = reactRouter.Router; var DefaultRoute = reactRouter.DefaultRoute; var Route = reactRouter.Route; var RouteHandler = reactRouter.RouteHandler; var Link = reactRouter.Link; var LoginHandler = require('./components/LoginHandler.jsx'); var AppComponent = React.createClass({ render: function() { return( <nav> <Link to="/">Home</Link> <Link to="login">Login</Link> <RouteHandler/> </nav> ) […]

与Node.js一起反应导出两个函数

我有一个这样的JSX文件: var Home = React.createClass({ render: function() { return ( <Test> … var Test = React.createClass({ render: function() { … module.exports = Home; 但我不能pipe理这两个函数加载,我想我必须添加testing到module.exports,但我找不到一个工作的方法。

Redux动作在状态改变时被不必要地触发

我正在尝试将socketCluster与一个简单的redux应用程序集成在一起。 目前,只有一个function可以将组件当前状态的值通过中间件发送给服务器。 这是我的actions.js文件 export function signupRequest(creds){ return{ type: SIGNUP_REQUEST, isFetching: true, isAuthenticated: false, creds } } 我的减速器: function signUp(state={ isFetching:false, isAuthenticated: localStorage.getItem('id_token')? true : false },action) { switch(action.type){ case SIGNUP_REQUEST: return Object.assign({},state,{ isFetching:true, isAuthenticated: false, user: action.creds }) } 我有一个中间件function,负责发送到服务器的input middleware.js export default socket => store => next => action => { socket.emit('action',action); } 我的客户端的index.js文件 […]

React / Node:当前运行时环境的dynamic主机和端口(客户端和服务器)

反应^ 0.14.0 节点^ 5.0.0 Express ^ 4.0.0 我正在开发一个React应用程序,我不能再为我的客户端硬编码主机和端口。 因为现在我将在将服务器部署在云中或在本地运行服务器之间进行切换 – 所以我需要为客户端应用程序创build一个方法来确定它是dynamic主机和端口,以便将http请求发送到正确的端点服务器(本地或在networking上)。 由于所有的请求都是与服务器“相同的来源”,所以我有两种方法来设置它。 1)(简单的方法)客户端:在客户端初始化的时候,或者在每个请求之前,抓住“位置”。 2)服务器端:在服务器端渲染期间,使用服务器的configuration来确定主机和端口,并将它们作为初始状态的一部分发送。 第一种方法肯定是破解一些可行的最简单的方法,但是我觉得如果我有更多的经验部署服务器和在不同的环境之间切换,我会发现第二种方法更合理。 我认为经验丰富的团队知道共同的习惯,但是没有很多在线的生产水平的例子 – 我就像¯\_(ツ)_/¯

React App和后端API最佳实践

我有反应路由器的客户端路由React应用程序和快速后端rest API(React应用程序正在使用API​​来获取数据) 目前我configuration为“/”的Expresspath转到包装React JavaScript文件的HTML文件,并在路由到后端API 我有反应路由器为客户端路由,使路由变得复杂。 我想知道是否将我的应用程序分为两个更好:React App和后端API,并运行两个节点实例 什么是最佳实践?

反应js套接字io不工作在局域网wifi

所以我有一个完成的工作在我的机器上的nodejs + socket.io + reactjs项目。 我可以在我的机器上打开不同的选项卡或浏览器,并对其进行testing和工作。 但是我想在我的局域网内的其他机器上testing它。 当我通过其他机器上的无线networking连接到我的networkingIP地址,我可以看到页面。 但是,socket.io不起作用。 当我打开控制台(其他机器),这是我看到的错误: GET http:// localhost:3000 / socket.io /?EIO = 3&transport = polling&t = LMXV0Uf net :: ERR_CONNECTION_REFUSED 这是我的节点app-server.js: app.use(express.static('./public')); app.use(express.static('./node_modules/bootstrap/dist')); var server = app.listen(3000); var io = require('socket.io').listen(server); 我该如何解决这个问题? 还有什么build议的方式来部署在生产中,使socket.io将工作。