更新:更新到 stylus 0.7.4 和 express 2.3.12 后,我无法再重现这个。据推测,这是早期版本的触控笔中的某个错误。
我正在尝试连接最基本的 express + stylus 设置。我希望将 screen.styl 呈现为 css 并在处理 /screen.css 的 GET 时在响应中返回。
我已经调试到手写笔中间件,调试器正在以我无法理解的方式跳跃。stylus 中间件代码看起来不错,但 aGET /screen.css
导致Error: ENOENT, No such file or directory '/Users/plyons/projects/test_stylus/screen.css'
响应中出现异常。
我有一个只有 2 个文件的测试目录(服务器在 coffeescript 中,但很简单)。
screen.styl server.coffee
猫服务器.coffee
express = require 'express'
app = express.createServer()
app.use require('stylus').middleware(__dirname)
app.use express.static __dirname
app.listen 9800
猫屏幕.styl
a
background-color red
从盯着 stylus middleware.js 文件看了很长一段时间,我认为这应该可行。stylus中间件肯定正在执行并尝试对fs.stat
存在.styl
的.css
文件和尚不存在的文件执行操作,因此. styl 并将结果保存在 .css 中)。但是没有 .css 文件被写入。如果是这样编写的,系统是为中间件设计的,无需在响应中实际发送任何内容即可调用,但静态提供程序会找到 .css 文件并将其作为响应发送,对吗?ENOENT
ENOENT
next()
有人知道我在这里有什么问题吗?