问题的简短概述
我在routes.js
文件中,如何将css
文件夹中的所有文件作为静态文件提供?
路径结构(有人编辑此内容并使 img 在不使用链接的情况下可见(
一些失败的尝试
path.join(__dirname, '\css')
-> 输出 ->\app\routes\css
path.join(__dirname, '..\css')
-> 输出 ->\app\routes\css
path.join(__dirname, '..', 'css')
-> 输出 ->\app\routes\css
所需路径为:\app\routes\..\css
但出于某种原因,"/../"被忽略。查看routes.js
中的评论
路线.js
var express = require("express");
var path = require('path');
var appRouter = function (app) {
app.use(express.static(path.join(__dirname, '\css')));
// RESULTS IN INVALID PATH: '\app\routes\css'
// (there is no css folder inside the routes folder)
app.get('/', function (req, res) {
res.redirect('/home');
});
};
module.exports = appRouter;
服务器.js
var express = require("express");
var bodyParser = require("body-parser");
var routes = require("./routes/routes.js");
var app = express();
const server_port = process.env.PORT || 3000;
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
routes(app);
var server = app.listen(server_port);
索引.html
// I have linked to the static css file
<link rel="stylesheet" type="text/css" href="css/styles.css" />
附加信息
app.use(express.static('app'));
工作,但它提供整个应用程序文件夹中的所有文件,这是不可取的。
使用
path.join(__dirname, '/../css')
(您需要在目录名称前添加/
(