我似乎无法将项目中的 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/