Node.JS不会发布localhost

时间:2016-01-29 02:47:02

标签: javascript node.js express localhost

我正在本地节点中构建另一个应用程序,现在已部署它并正在处理另一个应用程序。

修改

然而,每当我在本地主机上使用express(v4.13)启动节点(v5)时,它就会挂起并且不会建立任何连接我也在运行El Capitan的Mac上。我在控制台中看到的所有内容(通过控制台我的意思是终端通过记录)是:

GET / -- ms --

以下是我的代码以获取指导。

var express         = require('express');
var fs              = require('fs');
var logger          = require('morgan');
var cookieParser    = require('cookie-parser');
var bodyParer       = require('body-parser');
var path            = require('path');
var app             = express();
var settings        = app.settings;
var env             = process.env;
var entrance        = require('./route/siteBase');

app.set('view engine', 'jade');
app.set('view cache', false);

app.set('views', __dirname + '/source');
app.set('/assets', express.static(__dirname + '/source/assets/'));

app.use(logger('dev'));
app.use(cookieParser);

app.get('/', function (req, res) {
  res.send('Hello World!');
});

/**
 * 404 Error Handler
 * Creates an error object to be used and passed to pages.
 * TODO move this out of the server.js
 * TODO create generic 500/404 page
 * NOTE this must always be the last route called (i.e. if the server cannot find any other routes this will be called)
 */
 app.use(function(err, req, res, next){
  // error page
  res.status(500).render('error', {error : err});
});

app.use(function(req, res, next) {
  // logic - TODO: Create Error handling here
  // console.log(req);
  res.status(404).render('error', { error: req.originalUrl });
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

module.exports = app;

请帮忙!

3 个答案:

答案 0 :(得分:0)

好的,经过几个小时的调试后,跟踪导致了一些错误的NPM软件包安装,这些安装会以某种方式导致问题。

我仍然不完全确定发生了什么,但基本上只需从一个新项目重新开始并重建。

感谢您的帮助。

答案 1 :(得分:0)

您必须牢记以下事项。

安装依赖项:

$ cd your_app_name && npm install

安装主管并使用它:

npm install supervisor -g

编辑package.json文件并替换以下行:

“scripts”:{     “开始”:“主管./bin/www”   },

使用调试模式运行应用程序:

$ DEBUG=your_app_name:* npm start

使用调试模式在不同端口上运行app:

$ PORT=8080 DEBUG=your_app_name:* npm start

检查端口是否已经运行:

$ netstat -anp tcp | grep 3000
$ sudo netstat -lpn |grep :3000

杀死正在运行的端口:

$ sudo fuser -k 3000/tcp

将HTML转换为Jade:here

http://html2jade.aaron-powell.com/

我希望通过以上信息,您可以解决您的问题。

答案 2 :(得分:-1)

表示订购事宜 错误和404处理程序后面有hello world路由。 你需要重新排序它们。

// even better create a routes file and include it here
app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.use(function(req, res, next) {
  res.status(404);
  res.send('404: Page not found');
});

app.use(function(err, req, res, next){
  res.status(500);
  res.send('500');
});

查看express-boilerplate了解有关包含路线的更多详情