节点JS基础路由器被覆盖
我的server.js
文件如下所示:
var fs = require('fs'); var express = require('express'); var app = express(); // event listener var events = require('events'); var eventEmitter = new events.EventEmitter(); var port = process.env.PORT || 3000; // set the view engine to ejs app.set('view engine', 'ejs'); // make express look in the public directory for assets (css/js/img) app.use(express.static(__dirname + '/public')); // set the home page route app.get('/', function (req, res) { console.log('home page loaded'); }); app.listen(port, function () { console.log('Server listening on port ' + port); });
我是新来的节点/expression,但希望澄清。 我认为app.get('/', ...
会处理默认的function,但是不是将消息logging到控制台,而是在运行node server.js
时从/public
加载index.html
。
这里覆盖路由function是什么? 如果有帮助,表示版本是4.11.1。
你有这个问题,因为serve-static
模块,它是你正在使用的中间件: express.static()
从其文档注意到:
默认情况下,这个模块会发送“index.html”文件来响应目录上的请求。 要禁用此设置为false或提供一个新的索引按照首选顺序传递一个string或一个数组。
即replace: app.use(express.static(__dirname + '/public'));
与: app.use(express.static(__dirname + '/public',{'index':false}));
- 如何在node.js中输出深度堆栈跟踪?
- 如何将数组划分为nodejs中的相等部分
- Grunt.js; 了解不同的configuration
- 如何在node.js中实际使用Q promise?
- 尝试使用Gmail的Node.js API修改标签时,“错误没有标签添加或删除指定”
- 客户端模块工作stream程:(Browserify + npm + gulp)或(RequireJS + Bower + gulp)?
- 在Nodejs中使用正则expression式停止stream
- 为什么用Webpack和Gulp这么大(> 1.9Mb)构build输出包?
- Node.js find()在Mongoose模型定义中