javascript - res.render() 后手写笔未应用于我的 Jade 文件

标签 javascript node.js express pug stylus

我似乎无法将项目中的 stylus 文件编译成 css 文件以与 jade 文件结合使用。 jade 文件的内容正在浏览器中显示,但未按照 .styl 文件中指定的格式进行格式化。

我认为这与我使用的路径有关。我对“/public”感到困惑,它应该是我在项目树中实际创建的目录,还是它只是当前位置或类似内容的占位符?

以下是我需要的模块:

var express = require('express'),
    connect = require('connect'),
    account = require('./account'),
    stylus = require('stylus'),
    nib = require('nib'),
    http = require('http'),
    path = require('path');
var app = express();

下面是我的配置代码:

function compile(str, path) {
    return stylus(str)
        .set('filename', path)
        .use(nib())
}

app.configure('development', function(){
    app.set('port', process.env.PORT || 8888);
    app.set('views', __dirname + '/views');
    app.set('view engine', 'jade');
    app.use(express.favicon());
    app.use(express.logger('dev'));
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(app.router);
    app.use(express.static(path.join(__dirname, 'public')));
    app.use(express.bodyParser());
    app.use(express.cookieParser('1234567890QWERTY'));
    app.use(express.session({secret: '1234567890QWERTY'}));
    app.use(express.errorHandler());
    app.use(stylus.middleware({
            src: __dirname + '/public',
            dest: __dirname + "/css",
            compile: compile
        }
    ));
});

下面是我的处理程序:

app.get('/', function(req, res) {
      res.render('index',{title: 'Home'});
});

我的目录树目前在项目根目录下有我的脚本文件,然后样式表、 View 、css 和 node_modules 目录也都在根目录下。没有“公共(public)”目录。

最佳答案

app.use(stylus.middleware({
        dest: __dirname + '/public',
        src: __dirname + "/css",
        compile: compile
    }
))

目的地应该在公共(public)目录中。并且您的 src 包含您的 .styl 文件

关于javascript - res.render() 后手写笔未应用于我的 Jade 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137828/

相关文章:

javascript - Facebook 营销 API - 无法创建广告集

javascript - 更改字段属性

javascript - 请求js重定向

javascript - Node.js 导出问题

javascript - 了解 Express.js 中的中间件和路由处理程序

node.js - 使用 nodejs bunyan 正确记录错误?

javascript - 使用快乐的 ESLint 运行一次 useEffect

javascript - 如何根据字段的值进行排序?蒙戈

node.js - jenkins.build.log() 被 jenkins : build. 日志拒绝:禁止

mysql - SQL 导出的内容无法使用 felixge/node-mysql 正确执行