Express中的Stylus中间件无法正常工作?

Jie*_*eng 3 stylus express

app.coffee我有

stylus = require("stylus")

...
app.use stylus.middleware
    debug: true
    src: __dirname + "/stylus"
    dest: __dirname + "/public/css"
    compile: (src) -> 
        console.log(stylus(src))
        return stylus(src)
Run Code Online (Sandbox Code Playgroud)

我把样式包含在layout.jade:

link(rel="stylesheet", href="/css/styles.css")
Run Code Online (Sandbox Code Playgroud)

但是在Chrome网络标签中,我看到为styles.css取消了为什么会这样?

当我直接指向浏览器时/css/styles.css,我明白了

Cannot GET /css/styles.css

怎么了?我该如何解决?

Pet*_*ons 10

您是否static正确配置了中间件并在中间件堆栈中的触控笔中间件之后工作和定位?手写笔中间件只是要读取.styl文件并写入相应的.css文件,但它希望static中间件找到该.css文件并提供服务.

另请注意,您的srcdest文件层次结构应直接对应.我的意思是,如果列出一个目录(ls -R或类似的)的递归内容,即使计算所有中间目录,那么唯一的区别应该是src包含.styl文件并dest包含完全相应的.css文件.例如,不要将/css前缀添加到一个而不是另一个上.

  • src和dest层次结构只需要正确对应. (2认同)