我最近开始使用Node和Stylus并遇到这个问题.我想将生成的css保存在/ public / css中,而不是/ public / stylesheets中,似乎Stylus配置选项不允许这样做. // ... your middleware hereapp.use(stylus.middleware({ sr
// ... your middleware here app.use(stylus.middleware({ src: __dirname + '/views', // .styl files are located in `views/stylesheets` dest: __dirname + '/public', // .styl resources are compiled `/stylesheets/*.css` compile: function(str, path) { return stylus(str) .set('filename', path) .set('warn', true) .set('compress', true); } }));
上述代码中的注释来自Stylus示例.对于src和dest属性,会自动附加“/ stylesheets”(因为原始示例中的注释意味着).这似乎是不必要的,我想我想知道是否有办法将其关闭.
从拉取请求 #128收集的内容来看,这是不可能的.解决方法是嵌套一个额外的目录以匹配中间件生成的路径,这似乎比问题本身更难.假设您的HTTP请求路径是/css/file.css,您的dir结构应该如下所示:
/view/stylesheets/css/*.styl /public/css/*.css
并且您的中间件配置应如下所示:
debug: true, // Set this flag to see what the middleware is doing src: __dirname + '/views/stylesheets', dest: __dirname + '/public',
(我没有尝试过这个,但重点是匹配中间件所期望的.)