我正在一个网站上工作,并且在渲染ejs文件(index.ejs)时,仅显示html部分,同时不显示样式表,字体和图像。
链接样式表的代码为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>PUBG Tournaments by Regal Gaming</title>
<!-- load stylesheets -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:100,300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="css/bootstrap.min.css">
<!-- Bootstrap style -->
<link rel="stylesheet" href="css/magnific-popup.css">
<!-- Magnific pop up style -->
<link rel="stylesheet" href="css/templatemo-style.css">
我正在使用模板,并且我保持目录的结构相同。 也就是说,css,js,img和fonts文件夹与index.ejs文件位于同一目录。
答案 0 :(得分:0)
我想出了答案。
要将静态文件呈现到ejs模板中,要求文件位于公共目录中。
将此添加到服务器文件:
app.use('/static', express.static(path.join(__dirname, 'public')))