Php 拉雷维尔5号,带口香糖和NodeJS
我有一个节点服务器:Php 拉雷维尔5号,带口香糖和NodeJS,php,node.js,laravel,reactjs,laravel-5,Php,Node.js,Laravel,Reactjs,Laravel 5,我有一个节点服务器: '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 =
'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...')
还有一条拉威尔路线:
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
我怎样才能做到这一点呢?似乎base\u url应该是base\u uri,一定是我使用的教程或文档中的输入错误://似乎base\u url应该是base\u uri,一定是我使用的教程或文档中的输入错误:/