Wil*_*iam 8 node.js express node-supervisor
当我安装快速脚手架应用程序
express
Run Code Online (Sandbox Code Playgroud)
然后运行npm install
npm install
Run Code Online (Sandbox Code Playgroud)
然后运行主管
supervisor app
Run Code Online (Sandbox Code Playgroud)
我明白了
Starting child process with 'node app'
Program node app exited with code 0
Run Code Online (Sandbox Code Playgroud)
app.js文件是一个基本的默认快速实例.
var express = require('express');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var users = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
/// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
/// error handlers
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;
Run Code Online (Sandbox Code Playgroud)
Mat*_*tis 19
生成器创建的应用程序./bin/www
包含app.js
然后开始侦听流量.
app.js
不会这样做.
我认为这很重要.
app.listen
是不是被称为app.js
而是叫./bin/www
......,这就是为什么你得到的exit 0
结果.当你打电话app.js
而不是./bin/www
它通过文件,但因为没有监听流量的命令,程序正常结束...即没有做任何事情.
那说,你有两个选择..
选项1
如果你有一个./bin/www
文件,你可以运行supervisor ./bin/www
以开始工作.
选项2
如果./bin/www
由于某种原因您没有该文件,您可以编辑您的应用程序文件,如下所示.
在您的应用列表中,替换
module.exports = app;
Run Code Online (Sandbox Code Playgroud)
有了这个
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});
Run Code Online (Sandbox Code Playgroud)
重要的提示
虽然该编辑将启动应用程序监听,您将不再获得exit 0
,我不能保证如果缺少其他文件和目录,该应用程序将不会崩溃与其他一些错误.例如,如果routes
目录不存在,那么声明将要求routes/index
并且routes/users
将失败并且将发生其他不良事件.
归档时间: |
|
查看次数: |
11225 次 |
最近记录: |