আমিও একই সমস্যার মুখোমুখি হয়েছি 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 টেমপ্লেটটি ব্যবহার করা। সেখানে আপনি * .জেস ফাইলগুলিতে কাঁচা এইচটিএমএল লিখতে পারেন।