আমিও একই সমস্যার মুখোমুখি হয়েছি express 3.X
এবং node 0.6.16
। উপরের প্রদত্ত সমাধানটি সর্বশেষ সংস্করণে কাজ করবে না express 3.x
। তারা app.register
পদ্ধতিটি এবং app.engine
পদ্ধতি যুক্ত করেছে। যদি আপনি উপরের সমাধানটি চেষ্টা করে থাকেন তবে আপনি নিম্নলিখিত ত্রুটিটি দিয়ে শেষ করতে পারেন।
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Object function app(req, res){ app.handle(req, res); } has no method 'register'
at Function.<anonymous> (/home/user1/ArunKumar/firstExpress/app.js:37:5)
at Function.configure (/home/user1/ArunKumar/firstExpress/node_modules/express/lib/application.js:399:61)
at Object.<anonymous> (/home/user1/ArunKumar/firstExpress/app.js:22:5)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Array.0 (module.js:479:10)
at EventEmitter._tickCallback (node.js:192:40)
ত্রুটি বার্তা থেকে মুক্তি পেতে। নিম্নলিখিতটি আপনার লাইনে যুক্ত করুনapp.configure function
app.engine('html', require('ejs').renderFile);
দ্রষ্টব্য: আপনাকে ejs
টেমপ্লেট ইঞ্জিন ইনস্টল করতে হবে
npm install -g ejs
উদাহরণ:
app.configure(function(){
.....
// disable layout
app.set("view options", {layout: false});
app.engine('html', require('ejs').renderFile);
....
app.get('/', function(req, res){
res.render("index.html");
});
দ্রষ্টব্য: সহজ সমাধান হ'ল ইঞ্জিন হিসাবে ejs টেমপ্লেটটি ব্যবহার করা। সেখানে আপনি * .জেস ফাইলগুলিতে কাঁচা এইচটিএমএল লিখতে পারেন।