2012-11-13 2 views
17

Làm thế nào để tôi truy cập vào các biến thiết lập sử dụng nhanh của app.set() cho ví dụbiến Làm thế nào để truy cập vào thiết lập sử dụng app.set() trong tốc js


app.set('view engine','jade'); 
app.set('jsDirectory',/js/'); 
 

Từ hướng dẫn, tôi hiểu rằng tôi có thể truy cập vào cùng sử dụng app.get(<key>) , nhưng đây là đầu ra của console.log(app.get('view engine')).

 
{ router: 
    { app: 
     { stack: [Object], 
     domain: null, 
     _events: [Object], 
     _maxListeners: 10, 
     _connections: 0, 
     connections: [Getter/Setter], 
     allowHalfOpen: true, 
     _handle: null, 
     httpAllowHalfOpen: false, 
     cache: {}, 
     settings: [Object], 
     redirects: {}, 
     isCallbacks: {}, 
     _locals: [Object], 
     dynamicViewHelpers: {}, 
     errorHandlers: [], 
     route: '/', 
     routes: [Circular], 
     router: [Getter], 
     root: 'C:\\Users\\Shahal\\Works\\App', 
     models: {}, 
     extensions: {}, 
     disconnectSchemas: [Function: disconnectSchemas], 
     passport: [Object] }, 
    routes: {}, 
    params: {}, 
    _params: [], 
    middleware: [Function] } } 
+1

Có vẻ như bạn có thể chạy 2.x nhanh? Tài liệu trên expressjs.com là tài liệu cho express 3.x. –

Trả lời

21

Họ trở nên có sẵn thông qua các đối tượng app.settings:

app.set('oneSetting', 'one'); 
app.set('twoSetting', 'two'); 
app.set('view engine','jade'); 

console.log(app.settings.oneSetting); 
console.log(app.settings.twoSetting); 
console.log(app.settings['view engine']); 
16

Tôi biết đây là 2 tuổi, nhưng nó vẫn là mắt xích đầu tiên bật lên trên google vì vậy tôi nghĩ rằng điều này có thể thích hợp.

Bạn cũng có thể thiết lập biến của bạn như thế

 app.set('port', 3000); 

Và sau đó có được nó với

 app.get('port'); 

Tôi thích cách tiếp cận này vì nó ngắn hơn và nhiều hơn nữa thẳng về phía trước. Đó cũng là cách họ sử dụng trong số Express 4.x documentation.

app.get(name) 
    Returns the value of name app setting, where name is one of strings in the app settings table. 
+1

Tôi có thể thiếu một cái gì đó, nhưng 'cổng' không được liệt kê trong [bảng cài đặt ứng dụng] (http://expressjs.com/en/api.html#app.settings.table), vì vậy làm thế nào để làm việc này? – KnewB

+0

@KnewB Nếu nó không có trước đó, express sẽ tạo ra cái mới và gán giá trị. – NERDYLIZARD

-1
app.set('view engine','hbs') 
**All are correct:** 
app.get('view engine') 
app.locals.settings['view engine'] 
app.settings['view engine']