Я пытаюсь написать приложение с NodeJS / Express.Когда вызывается метод MealApi.massAdd, у меня есть ответ MealApi.massAdd is not a function
.Но я не могу понять почему.Может кто-нибудь объяснить мне это странное поведение, пожалуйста?
Это то, что у меня есть в моем app.js
:
const express = require('express')
const bodyParser = require('body-parser')
const cors = require('cors')
const morgan = require('morgan')
const mongoose = require('mongoose')
const MealApi = require('./api/meal')
const mealModel = require('../models/meal')
// Create connection to MongoDB
mongoose.connect('mongodb://localhost:27017/diet')
let db = mongoose.connection
db.on('error', console.error.bind(console, 'connection error'))
db.once('open', (callback) => {
console.log('connection succeeded')
})
// Create Express app
const app = express()
app.use(morgan('combined'))
app.use(bodyParser.json())
app.use(cors())
app.post('/meals/massAdd', (req, res) => {
res.send(MealApi.massAdd(req.body.meals))
})
Вот мой api/meal.js
:
const MealModel = require('../../models/meal')
class Meal {
massAdd (meals) {
meals.forEach((meal) => {
let model = new MealModel(meal)
model.save((error) => {
if (error) { console.error(error) }
return {
success: true,
message: 'Meal ' + meal.name + ' successfully added !'
}
})
})
}
}
module.exports = Meal
Большое спасибо