我研究了livereload。文档说,在要求之后我应该这样使用它:
livereload(app)
example code也显示了它是如何完成的
var express = require('express')
....
, livereload = require('express-livereload');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
.....
});
app.configure('development', function(){
app.use(express.errorHandler());
});
livereload(app)
app.get('/', routes.index);
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
问题是我正在使用快速生成器。它作为app.js
文件,但运行服务器的文件位于bin/www
。该文件看起来像这样
var app = require('../app');
var debug = require('debug')('books:server');
var http = require('http');
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
var server = http.createServer(app);
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
...
function onListening() {
var addr = server.address();
var bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port;
debug('Listening on ' + bind);
}
我删除了错误处理方法。
在上面的文件中,我需要实时重新加载并尝试了livereload(app)
以及livereload(server)
并且没有发生任何事情
我确实在jade文件中添加了相关的脚本标记,并且渲染得很好。
现在我希望不必使用gulp / grunt。我正在学习这些,在这里我只是想在没有太多配置的情况下快速解决这个问题(除非没有办法解决)