首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >向ejs添加.css文件

向ejs添加.css文件
EN

Stack Overflow用户
提问于 2013-09-05 14:35:17
回答 2查看 133K关注 0票数 40

我正在做node.js(express)与ejs,我不能包括一个.css文件到它。我尝试了同样的事情作为一个html-css二人组,它的工作fine...how我可以包括在我的.ejs文件中相同的。我的app.js是这样的:

代码语言:javascript
复制
var express = require('express');
var app = express();

app.set('views', __dirname + '/views');


app.get('/', function(req, res){
  res.render('index.ejs', {
        title: 'My Site',
    nav: ['Home','About','Contact'] 
  });
});

app.get('/home', function(req, res){
  res.render('index.ejs', {
        title: 'My Site',
    nav: ['Home','About','Contact'] 
  });
});

app.get('/about', function(req, res){
  res.render('about.ejs', {
    title: 'About',
     nav: ['Home','About','Contact']
  });
});

app.get('/contact', function(req, res){
  res.render('contact.ejs', {
    title: 'Contact',
     nav: ['Home','About','Contact']
  });
});


app.listen(3000);

和index.ejs文件:

代码语言:javascript
复制
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css">

</head>
<body>
<div>
    <h1> <%= title %> </h1>
    <ul>
<% for (var i=0; i<nav.length;i++) {%>

<li><a href="/<%=nav[i]%>"> <%=nav[i]%> </a></li>
   &nbsp;  
<% } %>
   </ul>
</div>

<br>
<h3>Node.js</h3>
<p class='just'>Express is agnostic as to which templating language you use. Templating languages can be a hot topic of debate.Here Iam going to use Jade.</p>
<p class ='just'>Again Express is agnostic to what you use to generate your CSS-you can use vanilla CSS but for this example I'm using Stylus.
</p>
<footer>
Running on node with express and ejs
</footer>
</home>
</html>

style.css文件:

代码语言:javascript
复制
<style type="text/css">
body { background-color: #D8D8D8;color: #444;}
h1 {font-weight: bold;text-align: center;}
header { padding: 50px 10px; color: #fff; font-size :15px; text-align:right;}
 p { margin-bottom :20px;  margin-left: 20px;}
 footer {text-decoration: overline; margin-top: 300px}
 div { width:100%; background:#99CC00;position:static; top:0;left:0;}
 .just
 {
    text-align: center; 

 }
a:link {color:#FF0000;}    /* unvisited link */
a:visited {color:#0B614B;} /* visited link */
a:hover {color:#B4045F;}   /* mouse over link */
a:active {color:#0000FF;}

  ul { list-style-type:none; margin:0; padding:0;text-align: right; }
li { display:inline; }
</style>
EN

回答 2

Stack Overflow用户

发布于 2017-10-07 18:54:59

你可以使用这个

代码语言:javascript
复制
     var fs = require('fs');
     var myCss = {
         style : fs.readFileSync('./style.css','utf8');
     };

     app.get('/', function(req, res){
       res.render('index.ejs', {
       title: 'My Site',
       myCss: myCss
      });
     });

将此内容放到模板中

代码语言:javascript
复制
   <%- myCss.style %>

只需构建style.css

代码语言:javascript
复制
  <style>
    body { 
     background-color: #D8D8D8;
     color: #444;
   }
  </style>

我在一些自定义的css中尝试了一下。对我来说很管用

票数 10
EN

Stack Overflow用户

发布于 2017-07-20 21:34:54

代码语言:javascript
复制
app.use(express.static(__dirname + '/public'));
<link href="/css/style.css" rel="stylesheet" type="text/css">

所以文件夹结构应该是:

代码语言:javascript
复制
.
./app.js
./public
 /css
 /style.css
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18629327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档