Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- app.use(express.static(path.join(__dirname, '/src/static')));
- app.set('views', path.join(__dirname, '/src/views'));
- app.set('view engine', 'ejs');
- app.get('*', function(req, res) {
- let context={};
- const html = renderToString(
- <StaticRouter location={req.url} context={context}>
- <App />
- </StaticRouter>
- );
- res.render('index.ejs', {react: html});
- });
- app.listen(port, function () {
- console.log('+++ Application listening on port: ' + port);
- });
- <!DOCTYPE html>
- <html>
- <head>
- <title>React Isomorphic Server Side Rendering Example</title>
- </head>
- <body>
- <h1 id="main-title">Isomorphic Server Side Rendering with React</h1>
- <div id="main">
- </div>
- <!-- comment out main.js to see server side only rendering -->
- <script type='text/javascript' src='/bundle.js' />
- </body>
- </html>
- export default class App extends React.Component {
- constructor(props) {
- super(props);
- }
- render() {
- return (
- <div>
- <header>
- <h1> A demo site. </h1>
- </header>
- <nav>
- <NavLink exact to="/" > home </NavLink>
- <NavLink to="/sold" > sold </NavLink>
- <NavLink to="/about" > about</NavLink>
- </nav>
- <main>
- <Route exact path="/" component={ Home }/>
- <Route path="/sold" component={ Sold }/>
- <Route path="/about" component={ About }/>
- </main>
- </div>
- );
- }
- }
- import ReactDOM from 'react-dom';
- import {BrowserRouter as Router} from 'react-router-dom';
- import App from './components/App.jsx';
- //Components
- ReactDOM.render((<App />),
- document.getElementById('main')
- );
- var path = require('path');
- module.exports = {
- entry: './src/index.js',
- output: {
- path: path.join(__dirname, '/src/static/'),
- filename: 'bundle.js'
- },
- module: {
- loaders: [
- { test: /.js$/, loader: 'babel-loader', exclude: /node_modules/ },
- { test: /.jsx$/, loader: 'babel-loader', exclude: /node_modules/ },
- // { test: /.(jpe?g|png|gif|svg)$/i, loader: 'file-loader'},
- ]
- },
- devServer: {
- port: 7777,
- host: 'localhost'
- },
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement