快速路由无法获取静态文件

时间:2014-10-09 07:25:41

标签: node.js 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);

服务器运行并且morgan记录请求但我无法从公共目录中获取文件

myurl.com/test.js

返回404

3 个答案:

答案 0 :(得分:0)

你可以尝试

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

答案 1 :(得分:0)

你可以试试这个:

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

答案 2 :(得分:0)

问题实际上是快递的版本。 package.json有'~4.0.0',当它被改为'latest'和'npm install'时重新运行问题解决了。