Nodejs 提供静态文件(路径问题)(无法关闭目录"/../")



问题的简短概述

我在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')

(您需要在目录名称前添加/(

相关内容

  • 没有找到相关文章

最新更新