আমি একটি অপেক্ষাকৃত নতুন অ্যাপ লিখছি এবং ভাবছিলাম যেটি আমার ব্যবহার করা উচিত:
express.json()
বা
bodyParser.json()
আমি কি ধরে নিতে পারি তারা একই কাজ করে?
আমি express.json()
এটি ইতিমধ্যে নির্মিত হিসাবে যেমন ব্যবহার করতে চাই ।
আমি একটি অপেক্ষাকৃত নতুন অ্যাপ লিখছি এবং ভাবছিলাম যেটি আমার ব্যবহার করা উচিত:
express.json()
বা
bodyParser.json()
আমি কি ধরে নিতে পারি তারা একই কাজ করে?
আমি express.json()
এটি ইতিমধ্যে নির্মিত হিসাবে যেমন ব্যবহার করতে চাই ।
উত্তর:
এক্সপ্রেসের পূর্ববর্তী সংস্করণগুলিতে এর সাথে অনেকগুলি মিডলওয়্যার বান্ডিল ছিল। বডি পার্সার মিডলওয়্যারগুলির মধ্যে একটি যা এটি এসেছিল came এক্সপ্রেস ৪.০ প্রকাশিত হলে তারা এক্সপ্রেস থেকে বান্ডিল মিডলওয়্যারগুলি সরানোর এবং পরিবর্তে তাদের পৃথক প্যাকেজ তৈরি করার সিদ্ধান্ত নিয়েছে। বডি পার্সার মডিউলটি ইনস্টল app.use(express.json())
করার app.use(bodyParser.json())
পরে বাক্য গঠনটি পরিবর্তিত হয় ।
বডি পার্সার 4.16.0 রিলিজে এক্সপ্রেসে ফিরে যুক্ত হয়েছিল, কারণ লোকেরা চাইছিল এটি আগের মতো এক্সপ্রেসের সাথে বান্ডিল হয়েছে। এর অর্থ আপনি bodyParser.json()
সর্বশেষতম প্রকাশে থাকলে আপনাকে আর ব্যবহার করতে হবে না । express.json()
পরিবর্তে আপনি ব্যবহার করতে পারেন ।
রিলিজের ইতিহাসটি 4.16.0 এর জন্য যারা আগ্রহী তাদের জন্য এখানে রয়েছে এবং এখানে ক্লিকের অনুরোধ রয়েছে ।
app.use(express.urlencoded({ extended: true }));
তখন কি করতে পারি ?
হ্যাঁ! সঠিক
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/users', usersRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
হ্যাঁ উভয়ই সমান।
আপনি যদি নোড_মডিউল / এক্সপ্রেস / লিব / এক্সপ্রেস.জেএস ফাইলটিতে যান
আপনি মডিউল নির্ভরতার অধীনে দেখতে পাবেন বডি পার্সার মডিউলটি ইতিমধ্যে আমদানি করা হয়েছে
/**
* Module dependencies.
*/
var bodyParser = require('body-parser')
//other modules
বডি পার্সার মডিউলের ভিতরে থাকা অবজেক্টগুলি এবং পদ্ধতিগুলি অ্যাক্সেসযোগ্য কারণ তারা বিশেষ অবজেক্ট মডিউল.এক্সপোর্টগুলি ব্যবহার করে রফতানি করা হয়
exports = module.exports = createApplication;
exports.json = bodyParser.json
এটি কেবল কল করে এক্সপ্রেস অবজেক্ট থেকে অ্যাক্সেসযোগ্য
express.json()
হ্যাঁ!! আপনি উভয় ব্যবহার করতে পারেন। যাইহোক, যেহেতু express.json()
এখনই ইতিমধ্যে নির্মিত হয়েছে express
, তাই এটি ব্যবহার করার express.json()
চেয়ে বুদ্ধিমানের কাজ bodyParser.json()
।