Node.js Can';t使用节点0.9和最新的express 4.11.2提供静态目录
使用以下简单节点服务器Node.js Can';t使用节点0.9和最新的express 4.11.2提供静态目录,node.js,express,Node.js,Express,使用以下简单节点服务器 var express = require('express'); var app = express(); var path = require('path'); app.use(express.static(path.join(__dirname, 'public'))); // "public" off of current is root app.listen(3000); console.log('Listening on port 3000'); 当然,我
var express = require('express');
var app = express();
var path = require('path');
app.use(express.static(path.join(__dirname, 'public'))); // "public" off of current is root
app.listen(3000);
console.log('Listening on port 3000');
当然,我在我的根目录中放了一个“public”目录,还删除了一个index.html文件,但当我将浏览器指向我明白了 无法获取/公开/
这一次也让我在开始使用express时感到惊讶
http://localhost:3000/public/
将无法访问
例如,假设您在公共目录中有一个css
文件夹,其中包含一个名为styles.css
您的浏览器可以在http://localhost:3000/css/styles.css
express.static上的express文档可在以下位置找到:
编辑1:请参见此
编辑2:@Leonid Beschastny答案正确,我没有看到
app.use(express.static(path.join(uu dirname,'public'))中缺少文件夹路径
问题在于如何安装express.static
中间件。在您的示例中,您正在将其装载到应用程序的根目录中
因此,在您的示例中,您应该能够从http://localhost:3000/
因此,您只需为express.static
中间件指定一个安装点:
app.use('public', express.static(path.join(__dirname, 'public')));
您还应该记住,express.static
没有默认的索引页。因此,如果您的public
目录中没有index.html
,您将得到404(express.static
不会像apache
do那样列出您的文件)。可能重复的