1
我在寻找的时候,我的项目是一个共享的主机上的一个简单的解决一个静态的标记,它没有安装和的NodeJS我想用react js
(搜索引擎友好)。产生与reactjs
我自己想出了一个解决方案:生成一个静态标记nodeJs
开发和使用laravel blade
语法,所以我可以从数据库中获取数据。
var require = require('react');
var fs = require('fs');
var Welcome = require('./react/welcome.js');
var path = __filename.split('\/');
// rendering the component to string
// passing `props` with blade syntax
var reactComponent = React.renderComponentToString(Welcome({name:"{{$name}}"}));
// get the name of `jsx` file
filename = path[path.length - 1].split('.')[0];
// rendering the component on the client side
reactComponent += '<script>' +
"React.renderComponent(Welcome({name:'{{$name}}'}), document.getElementById('welcome'));"+
'</script>';
fs.writeFile('app/views/react/'+filename+'.blade.php',
reactComponent,
function (err) {
if(err) throw err;
console.log('All down!');
}
);
在这里,我只需要创建一个master
模板,并使用@include('react.welcome')
获得模拟。
我可以猜到,这是一个坏主意,但为什么呢?
如果它不是那么愚蠢这确实给我任何的性能提升?