unaee在express.js获取静态css文件

时间:2016-08-26 08:52:37

标签: node.js

我正在尝试通过第一个快递网络应用程序,我使用ejs模板来渲染我的网页和CSS来设置我的页面样式。 但是服务器无法从公用文件夹呈现css文件。我将静态文件路径放在express .js中,如下所示

    express = require('express'),
        var app = express();

我试图将静态文件路径放到express.js

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

并链接到我的signup.ejs页面

 <link href="/public/mystyle.css" rel="stylesheet" type="text/css">

我的目录结构如下

app
|-view
     |- signup.ejs 


public
|-mystyle.css

express.js

当我启动我的服务器时,它给我404找不到错误。虽然我的localhost工作正常但问题是我的网页无法在网页中获取css文件

2 个答案:

答案 0 :(得分:0)

您确定您在app.listen()中输入的端口是否正确? 试试

app.listen(port no., 'your localhost', function() {
  console.log("... port %d in %s mode", app.address().port, app.settings.env);
});

答案 1 :(得分:0)

更改以下两项内容:

  1. 建立相对链接:app.use("/public",express.static(__dirname + './public'));
  2. 无需再次导航到/ public,因为express.js已经在此文件夹中搜索静态文件:<link href="/mystyle.css" rel="stylesheet" type="text/css">
  3. 请参阅:http://expressjs.com/en/starter/static-files.html