更新:更新为手写笔0.7.4并表达2.3.12后,我无法再重现此内容。大概是早期版本的手写笔中的一个错误。

我正在尝试获取最基本的Express +手写笔设置。我想将screen.styl渲染为css并在处理/screen.css的GET时在响应中返回。

我已经调试了手写笔中间件,调试器以我无法理解的方式跳来跳去。手写笔中间件代码看起来不错,但是GET /screen.css导致Error: ENOENT, No such file or directory '/Users/plyons/projects/test_stylus/screen.css'消失。

我有一个仅包含2个文件的测试目录(服务器位于coffeescript中,但这很简单)。

screen.styl     server.coffee


猫服务器。咖啡

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


猫screen.styl

a
  background-color red


盯着手写笔middleware.js文件已经有一段时间了,我认为这应该可以工作。手写笔中间件肯定正在执行并尝试对存在的fs.stat文件和尚不​​存在的.styl文件(即.css)执行ENOENT,但是中间件看起来应该像这样检测到该ENOENT并进行正确处理(编译.styl并将结果保存在.css中)。但是没有写入任何.css文件。如果编写了该代码,则该系统专为中间件而设计,它可以调用next()而不实际在响应中发送任何内容,但是静态提供者将找到.css文件并将其作为响应发送,对吗?

有人知道我在这里错了吗?

最佳答案

更新:更新为手写笔0.7.4并表达2.3.12后,我无法再重现此内容。大概是早期版本的手写笔中的一个错误。

10-06 05:31