2014-10-09 86 views
0

我正在使用express 4.9.4,我無法從服務器獲取靜態文件。有一個名爲public的文件夾,它有一個名爲test.js的文件。 我試過了;快速路由無法獲得靜態文件

var express = require('express'), 
    morgan = require('morgan'); 
var app = express(); 
var port = 1338; 

app.use(morgan('dev')); // log every request to the console 
app.use(express.static(__dirname + '/public')); 
app.listen(port); 

我試過了;

var express = require('express'), 
morgan = require('morgan'); 

var app = express(); 
var port = 1338; 

app.use(morgan('dev')); // log every request to the console 
var router = express.Router(); 
router.get(express.static(__dirname + '/public')); 
app.listen(port); 

服務器運行和摩根記錄的請求,但我無法從公共目錄獲取文件

myurl.com/test.js 

收益404

+0

'__dirname'是您的Node腳本所在的目錄。所以'public/test.js'需要相對於該目錄存在。 – robertklep 2014-10-09 08:48:13

回答

0

您可以嘗試

app.use("/public", express.static(__dirname + '/public')); 
+0

app.use(express.static(app.root +'/ public',{maxAge:86400000})); – Vickrant 2014-10-09 07:47:14

0

可以試試這個:

app.use(express.static(app.root + '/public', {maxAge: 86400000})); 
0

問題實際上是express的版本。 package.json具有'〜4.0.0',當它被更改爲'latest'和'npm install'時,重新運行問題自行解決。