为什么我的css没找到?

时间:2018-03-16 05:39:27

标签: node.js express

我已将我的css文件附加到我的html文件中。然后我在节点js中使用express运行并打开页面。但是,当我通过节点js运行Web服务器时,css文件无法打开 的 HTML(show.ejs)

<html>
<head>
<link rel="stylesheet" type="text/css" href="assets/css/style.css" media="screen" />
</head>
  <body>
    <h1> Value is <%= detail %></h1>
  </body>
</html> 

节点js

//required npm
var express = require('express');//express 4.*

var path = require('path');

// define app
var app = express();

// set up template engine
app.set('view engine', 'ejs');


//static files
//app.use('/static', express.static('/public')); //not working
app.use('', express.static(path.join(__dirname, 'public')));  //not working
//app.use(express.static(__dirname + '/public'));  //not working
//app.use('/public/assets', express.static('public/assets'));  //not working

app.get('/show/:id', function (req, res) {
    res.render('./panel/show', {
        detail: req.params.id ,
    });

//port
app.listen(3000);

我的项目文件夹

  

node_modules

     

视图

     
    

面板

         
      

show.ejs

    
  
     

公共

     
    

资产

         
      

CSS

             
        

的style.css

      
    
  
     

app.js

     

的package.json

1 个答案:

答案 0 :(得分:1)

输入<link rel="stylesheet" type="text/css" href="assets/css/style.css" media="screen" />您正试图在公共目录外找到assets文件夹。

因此,当您/时,它会找到public目录,该目录在快速服务器中是静态定义的。

<html>
<head>
<link type="text/css" href="/assets/css/styles.css" rel="stylesheet">
</head>
  <body>
    <h1> Value is <%= detail %></h1>
  </body>
</html>