【发布时间】:2016-09-13 16:23:55
【问题描述】:
我有一个节点服务器:
'use strict';
require('babel-register')({
presets: ['es2015', 'react']
});
var React = require('react');
var ReactDOMServer = require('react-dom/server');
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use('/', function(req, res) {
try {
var view = path.resolve('public/src/' + req.query.module);
var component = require(view).default;
var props = req.body || null;
res.status(200).send(
ReactDOMServer.renderToString(
React.createElement(component, props)
)
);
} catch (err) {
res.status(500).send(err.message);
}
});
app.listen(3000);
console.log('Listening carefully...')
还有一条 Laravel 路线:
use GuzzleHttp\Client;
Route::get('/{name?}', function($name) {
$client = new Client(['base_url' => 'http://10.0.1.123:3000']);
$response = $client->post('/', [
'json' => ['name' => ucfirst($name ?: 'World')],
'query' => ['module' => 'hello'],
]);
$contents = $response->getBody()->getContents();
return response($contents, 200);
});
问题是当我浏览到它给我的页面时:
创建资源时出错:[message] fopen(/?module=hello): 无法打开流:没有这样的文件或目录
我认为我需要将其读取为 hello,而不包含所有查询语法,因为我的 Laravel 路由是 /hello,而不是 ?module=hello
我怎样才能做到这一点?
【问题讨论】:
标签: php node.js laravel reactjs laravel-5