0
我是Node.js的新手。開始關於創建Node.js Express + React.js應用程序的教程Sahat Yalkabov's。轉發本地主機上的Node.js快速服務器 - 未響應
我用SSH(PUTTY)連接到我的服務器,並將端口3000轉發到localhost:3000
。但是,當我嘗試使用瀏覽器連接到服務器時,它不響應,瀏覽器只顯示waiting for localhost
消息。
我以前運行過express
命令,它們的默認項目確實顯示在我的瀏覽器上,所以它不是防火牆的東西。
這裏是server.js
:
var express = require('express');
var path = require('path');
var logger = require('morgan');
var bodyParser = require('body-parser');
// Server-side React rendering
var swig = require('swig');
var React = require('react');
var ReactDOM = require('react-dom/server');
var Router = require('react-router');
var RoutingContext = Router.RoutingContext;
var routes = require('./app/routes');
var app = express();
app.set('port', process.env.PORT || 3000);
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
// Server-side React rendering
app.use(function(req, res) {
Router.match({ routes: routes, location: req.url }, function(err, redirectLocation, renderProps) {
if (err) {
res.send(500, err.message)
} else if (redirectLocation) {
res.redirect(302, redirectLocation.pathname + redirectLocation.search)
} else if (renderProps) {
var html = ReactDOM.renderToString(<RoutingContext {...renderProps} />);
var page = swig.renderFile('views/index.html', { html: html });
res.send(200, page);
} else {
res.send(404, 'Page Not Found')
}
});
});
app.listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
});
運行服務器,我使用的是2個端子,一個運行gulp
和其他npm run watch
,按說教程。
我真的很陌生,第一次運行Node.js. 任何幫助將不勝感激!
編輯:添加了一個git倉庫與我的項目here。