Express-js не может получить мои статические файлы, почему? - PullRequest
284 голосов
/ 08 мая 2011

Я сократил свой код до самого простого приложения express-js, которое я мог сделать:

var express = require("express"),
    app = express.createServer();
app.use(express.static(__dirname + '/styles'));
app.listen(3001);

Мой каталог выглядит так:

static_file.js
/styles
  default.css

И все же, когда я получаю доступ к http://localhost:3001/styles/default.css Я получаю следующую ошибку:

Cannot GET / styles /
default.css

Я использую express 2.3.3 и node 0.4.7.Что я делаю не так?

Ответы [ 13 ]

1 голос
/ 02 января 2015

Я нахожу свой файл CSS и добавляю к нему маршрут:

app.get('/css/MyCSS.css', function(req, res){
  res.sendFile(__dirname + '/public/css/MyCSS.css');
});

Тогда похоже на работу.

0 голосов
/ 15 июня 2018

если ваша настройка

myApp
  |
  |__ public
  |     |
  |     |__  stylesheets
  |     |     |
  |     |     |__ style.css
  |     |
  |     |___ img
  |           |
  |           |__ logo.png
  |
  |__ app.js

тогда
положить в app.js

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

и обратитесь к вашему style.css: (в некотором файле .pug):

link(rel='stylesheet', href='/static/stylesheets/style.css')
0 голосов
/ 11 апреля 2013

В дополнение к вышесказанному, убедитесь, что путь к статическому файлу начинается с / (ex ... / assets / css) ... для обслуживания статических файлов в любом каталоге выше основного каталога (/ main)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...