[英]Node.js Express Server on Forwarded Localhost - Not Responding
我是Node.js的新手。 從遵循Sahat Yalkabov的創建Node.js Express + React.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倉庫與我的項目, 在這里 。
我認為您應該只運行npm run watch
命令。 終端顯示Express server listening on port 3000
,請在瀏覽器中打開http://localhost:3000/
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.