【发布时间】:2014-08-17 11:54:06
【问题描述】:
所以我是 node 新手,正在尝试学习如何使用 express 库。但是,我试图弄清楚的问题是为什么我的/public 文件夹中的文件似乎没有作为静态内容提供。
这是我的代码:
var http = require('http');
var port = process.env.port || 1337;
var express = require('express');
var handlebars = require('express3-handlebars');
var path = require('path');
var application = express();
application.use(express.static(path.join(__dirname, 'public')));
application.engine('handlebars', handlebars({ defaultLayout: 'main' }));
application.get('/', function(req, res){
res.render('index.handlebars', { someProp: 3 });
});
application.listen(port);
还有我的目录结构:
/
- server.js (the above referenced file)
/ Views
- index.handlebars
/ Layouts
- main.handlebars
/ public
- ServeMe.txt
我的理解是application.use(express.static(path.join(__dirname, 'public'))); 应该配置服务器以响应公共文件夹下的任何请求,如果找到该资源。我究竟做错了什么?有趣的是,将把手配置为视图引擎比让这个公用文件夹工作更容易=D
编辑:我试图请求的完整 URL:
http://localhost:1337/public/serveme.txt
我试过区分大小写(这应该不是问题),但也没有用。
【问题讨论】:
-
有错误信息吗?
-
只是404,所以服务器似乎不知道如何处理请求。
标签: node.js express static-files