Node.js公共css文件404找不到

我正在学习node.js,并有一个公共的CSS文件提供给一个URL的错误。 它几乎可以处理每个页面,我在页面上,并从127.0.0.1/css/style.css加载的CSS文件。 当URL是127.0.0.1/project/idProject时,它尝试从127.0.0.1/project/css/style.css获取css文件。

// INCLUDE MODULES ======================================================= var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('socket.io').listen(server); var Twig = require('twig'); var twig = Twig.twig; var path = require('path'); var mongoose = require('mongoose'); var passport = require('passport'); var flash = require('connect-flash'); var configDB = require('./config/database.js'); // Assets ================================================================ app.use(express.static(path.join(__dirname, 'public'))); app.use(express.favicon(path.join(__dirname, 'public/images/favicon.ico'))); // Start mongoose mongoose.connect(configDB.url); // USER MANAGEMENT ======================================================= require('./config/passport')(passport); // pass passport for configuration app.use(express.logger('dev')); // log every request to the console app.use(express.cookieParser()); // read cookies (needed for auth) app.use(express.json()); // to support JSON-encoded bodies app.use(express.urlencoded()); // to support URL-encoded bodies app.set('view engine', 'twig'); // set up twig for templating app.use(express.session({ secret: 'ilovescotchscotchyscotchscotch' })); // session secret app.use(passport.initialize()); app.use(passport.session()); // persistent login sessions app.use(flash()) // ROUTES ======================================================= // Set authentication variable app.use(function (req, res, next) { app.locals.login = req.isAuthenticated(); next(); }); require('./app/routes.js')(app, passport); //ERROR MANAGEMENT ======================================================= app.use(app.router); app.use(function(req, res, next){ res.status(404); // respond with html page if (req.accepts('html')) { res.render('errors/404.twig', { url: req.url }); return; } // respond with json if (req.accepts('json')) { res.send({ error: 'Not found' }); return; } // default to plain-text. send() res.type('txt').send('Not found'); }); /*app.use(function(err, req, res, next){ // we may use properties of the error object // here and next(err) appropriately, or if // we possibly recovered from the error, simply next(). res.status(err.status || 500); res.render('errors/500.twig', { error: err }); });*/ //SOCKET IO ======================================================= //Quand on client se connecte, on le note dans la console io.sockets.on('connection', function (socket) { console.log("New connection"); }); // LISTEN SERVER ======================================================= server.listen(80); 

任何想法如何解决这个问题?

问候 !

我尝试了我在评论中看到的方法,因为它不适合我,所以我发布了一个有效的答案。

所有的.css文件都是静态的,所以你必须把它们提供给客户端。 但是,您不会将静态文件用作快速中间件。 所以你必须添加它们。

app.use(express.static(__dirname, 'css'));