表示不提供静态文件

我有问题使用快递服务静态JavaScript文件。 我已经尝试了许多不同的快速文档的变化无济于事。我也尝试了很多对S / O类似问题的答复。

我的文件夹结构是

-MyApp -client -server -public foo.js server.js 

server.js:

 require('rootpath')(); var express = require('express'); var app = express(); var cors = require('cors'); var bodyParser = require('body-parser'); var expressJwt = require('express-jwt'); var config = require('config.json'); var path = require('path'); app.use(cors()); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); // use JWT auth to secure the api, the token can be passed in the authorization header or querystring app.use(expressJwt({ secret: config.secret, getToken: function (req) { if (req.headers.authorization && req.headers.authorization.split(' ')[0] === 'Bearer') { return req.headers.authorization.split(' ')[1]; } else if (req.query && req.query.token) { return req.query.token; } return null; } }).unless({ path: ['/users/authenticate', '/users/register'] })); // serve static files app.use(express.static(path.join(__dirname, 'public'))); // routes app.use('/users', require('./controllers/users.controller')); app.use('/listings', require('./controllers/listings.controller')); // start server var port = process.env.NODE_ENV === 'production' ? 80 : 4000; var server = app.listen(port, function () { console.log('Server listening on port ' + port); }); 

我试图通过localhost:4000 / foo.js访问foo.js,但我不断得到404错误。

任何帮助不胜感激

在原始post中查看@MysterX的评论。 你的目录不正确。

 app.use(express.static(path.join(__dirname, 'public'))); 

应该

 app.use(express.static(path.join(__dirname, 'server/public')));