2013-08-27 2 views
0

기본 구현으로 Express 3.3.x를 실행하려고합니다. Express는 라우트 모듈을 사용하므로 어떤 경로에서 JS 및 CSS에 액세스 할 수 있다면 무엇을해야합니까? 파일러의 예에서 express 3 및 nodejs와 함께 piler 사용

/** 
* Module dependencies. 
*/ 
var express = require('express'); 
var http = require('http'); 
var path = require('path'); 

var piler = require('piler'); 

var mongoose = require('mongoose'); 

var config = require('./config'); 

var app = exports.app = express(); 
var js = piler.createJSManager(); 
var css = piler.createCSSManager(); 
var srv = require('http').createServer(app); 

// all environments 
js.bind(app,srv); 
css.bind(app,srv); 

app.set('port', process.env.PORT || 3000); 
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(express.cookieParser('your secret here')); 
app.use(express.session()); 
app.use(app.router); 
app.use(require('less-middleware')({ src: __dirname + '/public' })); 
app.use(express.static(path.join(__dirname, 'public'))); 

js.addUrl("http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"); 

// development only 
if ('development' == app.get('env')) { 
    app.use(express.errorHandler()); 
} 

/** 
* Routes 
*/ 
var routes = require('./routes'); 
app.get('/', routes.index); 

srv.listen(app.get('port'), function(){ 
    console.log('Express server listening on port ' + app.get('port')); 
}); 

:

app.get("/", function(req, res){ 
    res.render("index.jade", { 
     layout: false, 
     js: js.renderTags(), 
     css: css.renderTags() 
    }); 
}); 

이 작동합니다. 하지만

app.get('/', routes.index); 

그래서 내가해야 할 일, js.renderTags()가 모든보기에서 작동이? 당신이 렌더링하는 변수를 전달하려는 경우

+1

내가 질문을하지 않았다을 덮어 쓰지 않습니다 여기에 옥 (jade) 템플릿의 문제점은 무엇입니까? – Kosmetika

답변

2

, 당신은 당신의 라우터 전에 res.locals

app.use(function(req,res,next){ 
    res.locals.layout= false; 
    res.locals.js= js.renderTags(); 
    res.locals.css= css.renderTags(); 
    next(); 
}); 

사용이 사용할 수 있지만 지역 주민 (res.locals={...})

관련 문제