gpt4 book ai didi

node.js - 无法让样式表与 node.js 的 ejs 一起使用

转载 作者:IT老高 更新时间:2023-10-28 22:12:47 25 4
gpt4 key购买 nike

我正在尝试使用 node、express 和 ejs 为模板制作一个简单的服务器。我已经让服务器指向页面,加载它,甚至可以使用 include 语句生成其他代码。但是由于某种原因,样式表不会加载。

app.js

var express = require('express'),
app = express(),
http = require('http'),
server = http.createServer(app),
fs = require('fs');

var PORT = 8080;

app.set('view engine', 'ejs');

app.get('/', function(req, res){
res.render('board.ejs', {
title: "anything I want",
taco: "hello world",
something: "foo bar",
layout: false
});
});


app.listen(PORT);
console.log("Server working");

ejs 文件在目录views/board.ejs 中

<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='../styles/style.css' />
</head>
<body >
<h1> <%= taco %> </h1>
<p> <%= something %> </p>
</body>
</html>

style.css 位于相对于 app.js 的 styles/style.css 目录中

p {
color:red;
}

对于链接的 href,我已经尝试了所有可以想到的路径,包括相对于我的 localhost 相对于 app.js 相对于 board.ejs 指向的位置,甚至只是 style.css,但似乎没有一个有效。非常感谢任何建议。

最佳答案

声明一个静态目录:

app.use(express.static(__dirname + '/public'));

<link rel='stylesheet' href='/style.css' />

关于node.js - 无法让样式表与 node.js 的 ejs 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13486838/

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