gpt4 book ai didi

javascript - Express 不提供静态文件

转载 作者:太空宇宙 更新时间:2023-11-04 01:57:40 26 4
gpt4 key购买 nike

我在使用 Express 提供静态 javascript 文件时遇到问题。我已经尝试了许多不同的快速文档变体,但均无济于事。我还尝试了许多对 S/O 上类似问题的回答。

我的文件夹结构是

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

服务器.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 错误。

非常感谢任何帮助

最佳答案

请参阅@MysterX 对原始帖子的评论。您的目录不正确。

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

应该是

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

关于javascript - Express 不提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47289049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com