ОБНОВЛЕНИЕ: после обновления до стилуса 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 и отправит его в качестве ответа, верно?
Кто-нибудь знает, что я здесь не так?