当前位置 : 主页 > 网页制作 > Nodejs >

node.js – 有没有办法让Stylus使用不包含“stylesheets”目录的src和dest路径?

来源:互联网 收集:自由互联 发布时间:2021-06-16
我最近开始使用Node和Stylus并遇到这个问题.我想将生成的css保存在/ public / css中,而不是/ public / stylesheets中,似乎Stylus配置选项不允许这样做. // ... your middleware hereapp.use(stylus.middleware({ sr
我最近开始使用Node和Stylus并遇到这个问题.我想将生成的css保存在/ public / css中,而不是/ public / stylesheets中,似乎Stylus配置选项不允许这样做.

// ... 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',

(我没有尝试过这个,但重点是匹配中间件所期望的.)

网友评论