更新:在更新到手写笔0.7.4和express 2.3.12之后,我不能再复制它了。据推测,这是早期的手写笔版本中的一个bug。
我正在尝试连接最基本的express +手写笔设置。我希望将screen.styl呈现到css中,并在处理GET for /screen.css时在响应中返回。
我已经调试到了手写笔中间件中,调试器正在以我无法遵循的方式跳转。手写笔中间件代码看起来很好,但是GET /screen.css会导致响应中出现一个Error: ENOENT, No such file or directory '/Users/plyons/projects/test_stylus/screen.css'。
我有一个只有2个文件的测试目录(服务器在coffeescript中,但这很简单)。
screen.styl server.coffeecat server.coffee
express = require 'express'
app = express.createServer()
app.use require('stylus').middleware(__dirname)
app.use express.static __dirname
app.listen 9800cat screen.styl
a
background-color red从盯着手写笔middleware.js文件很长一段时间来看,我认为这应该是可行的。手写笔中间件肯定是在对存在的.styl文件和尚未存在的.css文件执行并尝试执行ENOENT,因此是ENOENT,但是中间件看起来应该检测到ENOENT并没有任何问题地处理它(编译.styl并将结果保存在.css中)。但是没有.css文件被写入。如果它是编写的,则系统是为中间件设计的,可以调用next(),而不实际在响应中发送任何内容,但是静态提供程序会找到.css文件并将其作为响应发送,对吗?
有人知道我在这里出了什么问题吗?
发布于 2012-06-28 20:46:11
更新:在更新到手写笔0.7.4和express 2.3.12之后,我不能再复制它了。据推测,这是早期的手写笔版本中的一个bug。
https://stackoverflow.com/questions/6391044
复制相似问题