我正在使用express.js 3.4.0和stylus 0.37.0。我试图让express和stylus一起工作,这样当我请求一个实际上是在其他地方的stylus文件的css文件时,express会触发stylus编译它,然后提供服务(我想这是相当标准的,因为我在很多教程中都看到过)。
我的文件结构:
myApp
resources
stylus
style.styl
public
css
我的app.js代码(只包含相关内容):
app.use("/static", express.static(__dirname + "/public"));
app.use(stylus.middleware({
src: __dirname + "/resources/stylus",
dest: __dirname + "/public/css",
debug: true,
force: true,
}));
据我所了解,请求
/static/css/style.css
应该会导致express从resources/stylus/style.styl
生成此文件并提供服务。但事实并非如此。只有当我请求/style.css
时,/public/css/style.css
文件才能正确生成,但是我仍然得到404错误。随后,由于现在物理存在,我可以通过/static/css/style.css
来请求它。请问有人能建议一些步骤来解决这个问题吗?我是否遗漏了什么?
src: 'assets/css'
会编译assets/css/xyz.css
,但实际上它需要设置为src: 'assets'
并自动解析为/css
。太疯狂了。 - Matt Fletcher