通常你会在这样的路线中渲染一个Jade页面:
app.get('/page', function(req, res, next){
res.render('page.jade');
});
但我想为所有Jade页面提供服务(自动呈现),就像人们如何提供静态HTML
一样app.use(express.static('public'))
有没有办法为Jade做类似的事情?
答案 0 :(得分:2)
“static”表示将现有文件直接从磁盘发送到浏览器。玉可以这种方式提供,但这是非常不寻常的。通常你想在服务器上将jade渲染为HTML,根据定义它不是“静态的”,它是动态的。你这样做:
app.get('/home', function (req, res) {
res.render('home'); // will render home.jade and send the HTML
});
如果你想在浏览器中为jade本身提供渲染,只需在将其加载到浏览器中时直接在url中引用它,如:
$.get('/index.jade', function (jade) {
//...
});
答案 1 :(得分:2)
https://github.com/runk/connect-jade-static
用法
假设项目的以下结构:
/views /partials /file.jade
让我们从
制作玉文件/views/partials
web accessable:var jadeStatic = require('connect-jade-static'); app = express(); app.configure(function() { app.use(jadeStatic({ baseDir: path.join(__dirname, '/views/partials'), baseUrl: '/partials', jade: { pretty: true } })); });
现在,如果您启动Web服务器并在浏览器中请求
/views/partials/file.html
应该能够看到编译好的玉石模板。