Основной вопрос по настройке Express + Stylus (получение ENOENT) - PullRequest
4 голосов
/ 17 июня 2011

ОБНОВЛЕНИЕ: после обновления до стилуса 0.7.4 и экспресса 2.3.12 я больше не могу воспроизвести это. Предположительно, это была ошибка где-то в более ранней версии стилуса.

Я пытаюсь подключить основную настройку экспресс + стилус. Я хочу, чтобы screen.styl отображался в css и возвращался в ответе при обработке GET для /screen.css.

Я отлажен в промежуточном программном обеспечении стилуса, и отладчик прыгает так, как я не могу следовать. Код промежуточного программного обеспечения стилуса выглядит нормально, но GET /screen.css приводит к потере Error: ENOENT, No such file or directory '/Users/plyons/projects/test_stylus/screen.css' в ответе.

У меня есть тестовый каталог с двумя файлами (сервер написан на coffeescript, но он тривиален).

screen.styl     server.coffee

cat server.coffee

express = require 'express'
app = express.createServer()
app.use require('stylus').middleware(__dirname)
app.use express.static __dirname
app.listen 9800

cat screen.styl

a
  background-color red

С тех пор, как я долгое время смотрел на файл stylus middleware.js, я думаю, что должен работать. Промежуточное программное обеспечение стилуса определенно выполняется и пытается выполнить fs.stat как для файла .styl, который существует, так и для файла .css, который еще не существует, то есть ENOENT, но промежуточное программное обеспечение выглядит так, как должно обнаружить это ENOENT и обработать его без проблем (скомпилировать .styl и сохранить результат в .css). Но файл .css не пишется. Если это было написано, система предназначена для промежуточного программного обеспечения, чтобы вызывать next() без фактической отправки чего-либо в ответе, но тогда статическое обеспечение найдет файл .css и отправит его в качестве ответа, верно?

Кто-нибудь знает, что я здесь не так?

1 Ответ

1 голос
/ 29 июня 2012

ОБНОВЛЕНИЕ: после обновления до стилуса 0.7.4 и экспресса 2.3.12 я больше не могу воспроизвести это.Предположительно, это была ошибка где-то в более ранней версии стилуса.

...