मेरी वेबसाइट PHP में लिखी गई है। सॉकेट.ओएस के लिए नोड.जेएस भी स्थापित है। मैं Reactjs के साथ सर्वर-साइड प्रतिपादन के बारे में सोच रहा हूं, इसलिए मैं विचारों का पुन: उपयोग कर सकता हूं। विचारों प्रस्तुत करना Node.js कोक्या phode टेम्पलेट प्रतिपादन सेवा के रूप में प्रतिक्रिया के साथ node.js एक अच्छा विचार है?
1.Use v8js विस्तार और प्रतिक्रिया-पीएचपी-V8Js php से
2.Send डेटा: v8js एक्सटेंशन का उपयोग करने की योजना बना, लेकिन फिर मैं के बारे में दो संभव समाधान में बात कर this article में आए , उदाहरण:
Node.js
require("babel/register");
var React = require('react');
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('./views/' + req.query.module);
var component = require(view);
var props = req.body || null;
res.status(200).send(
React.renderToString(
React.createElement(component, props)
)
);
} catch (err) {
res.status(500).send(err.message);
}
});
php
use GuzzleHttp\Client;
$app->get('/{name:.*?}', function($name) use ($app) {
$client = new Client(['base_url' => 'http://localhost:3000']);
$response = $client->post('/', [
'json' => ['name' => ucfirst($name ?: 'World')],
'query' => ['module' => 'hello'],
]);
$contents = $response->getBody()->getContents();
return response($contents, 200);
});
लेखक कहता है कि वह दूसरी विधि पसंद करेंगे क्योंकि पहले एक:
जब तक आप कर रहे हैं आराम से स्थापना (और अद्यतन) libv8 और अपने उत्पादन मशीनों पर V8Js PECL विस्तार, यह एक विकल्प है । व्यक्तिगत रूप से, मैं इस मार्ग पर नहीं जाऊंगा। निर्भरता स्थापित करना बोझिल है, निर्भरता प्रबंधन मुश्किल है, और रास्ते में आपको मार्गदर्शन करने के लिए कई संसाधन नहीं हैं। अतिरिक्त में, आपको इस तथ्य के लिए जिम्मेदार होना होगा कि आपके जावास्क्रिप्ट बिल्ड को प्रतिक्रिया के साथ बंडल नहीं किया जाना चाहिए यदि आप उन्हें का पुन: उपयोग करना चाहते हैं।
क्या आप मुझे बता सकते हैं कि "जावास्क्रिप्ट निर्माण के साथ बंडल करने में सक्षम नहीं है" का क्या मतलब है? मैं v8js
+ React-PHP-V8Js
का उपयोग करने के बारे में सोच रहा हूं, इसलिए मैं इसके कुछ दोषों को समझना चाहता हूं। साथ ही, क्या आप दूसरी विधि (टेम्पलेट प्रतिपादन सेवा के रूप में node.js) पसंद करेंगे? मेरे पास node.js पहले से चल रहा है इसलिए यह एक अच्छा सुझाव प्रतीत होता है।