2012-01-11 17 views
16

मैं Node.js. साथ एक सा खेल रहे हैं का पता लगाने में विफल रहा है मैंने हाल ही में एक्सप्रेस के साथ काम करना शुरू कर दिया है और एक बुनियादी ऐप स्थापित कर रहा है। मैं हैंडलबार्स को अपने व्यू टेम्पलेटिंग इंजन के रूप में उपयोग करना चाहता था, लेकिन एक दीवार मार रहा हूं - "index.html"NodeJS + एक्सप्रेस + Handlebars - दृश्य "index.html"

मेरे पास index.html के समान निर्देशिका में index.html है और इसलिए मुझे लगता है कि नीचे दिए गए कोड में कोई समस्या नहीं लगाने index.html होता ...

मैं चारों ओर खोज की है, लेकिन यह जेड से अलग कुछ भी की है कि व्यापक उदाहरण लग रहे हैं दुर्लभ ... किसी को भी इस कॉम्बो के साथ अनुभव होता है?

अग्रिम धन्यवाद!

var express = require('express') 
    , app = express.createServer(); 

app.configure(function(){ 
    app.set('view engine', 'handlebars'); 
    app.set("view options", { layout: false }) 
}); 



app.get('/', function(req, res){ 

    var data = { 
     name: "Ford Prefect", 
     home: "a small planet somewhere in the vicinity of Betelgeuse" 
    } 

    res.render('index.html', data); 
}); 

app.listen(3000); 

अद्यतन:

मैं याद आ रही थी:

app.set('views', __dirname + '/'); 
app.register('.html', require('handlebars')); 
मेरी config में

... यह प्रतीत होता है कि '.html' के रजिस्टर काफी महत्वपूर्ण है क्योंकि यह निर्दिष्ट करता है .html के साथ हैंडलबार्स एसोसिएशन ...

मुझे उम्मीद है कि यह किसी की मदद करेगा ...

क्योंकि मैं एक एसओ नोब हूं, मैं 7 घंटे के लिए अपने प्रश्न का उत्तर नहीं दे सकता, लेकिन अगर किसी को पूर्ण कामकाजी उदाहरण की आवश्यकता है, तो मैं कल पोस्ट कर सकता हूं ...

+4

यह "फोर्ड प्रधान" – fent

+1

है आप इसे स्पष्ट रूप में यह एक सादे html फ़ाइल नहीं है बनाने के लिए अपनी फ़ाइलें बजाय .handlebars .html नाम के लिए विचार कर सकते हैं। शीघ्र ही [.hbs] (https://github.com/wycats/handlebars.js/issues/174) भी काम कर सकते हैं? – MyGGaN

उत्तर

17

डिफ़ॉल्ट रूप से, यह एक फ़ोल्डर में दिखेगा views निर्देशिका स्क्रिप्ट है से कहा जाता है। यदि आप एक अलग डीआईआर का उपयोग करते हैं तो आपको इसे निर्दिष्ट करना होगा।

app.set('views', __dirname + '/views'); 

एक्सप्रेस भी आप जहां यह देखने के लिए, की मदद करनी चाहिए कि आप जानते हैं कि वास्तव में, जहां यह रहा है खोजने की कोशिश कर रहा है के बारे में अधिक जानकारी बताना चाहिए।

+0

बिल्कुल। सच्चाई ने कहा, यह निष्कर्ष मेरे लिए दो चरणों में आया था - लाइन 1 और फिर अपडेट में लाइन 2 ... सबसे पहले मैंने लाइन 1 की खोज की, जो मुझे त्रुटि का सामना करने में मदद करता है: मॉड्यूल 'एचटीएमएल' जो मॉड्यूल नहीं ढूंढ सकता , कहानी कहां जाती है, लाइन 2 हल हो जाती है :) आशा है कि मेरी मूर्खता किसी की मदद करेगी। – mattezell

संबंधित मुद्दे