Nie mogę użyć funkcji zaimporotwanej z modułu.OOP

0

Chodzi o to że nie mogę uzyć funkcji z innego pliku bo pisze że firstUp nie jest funkcją?
ale dlaczego?
zaimportowałem cały obiekt.

const express = require('express');
var app = express();
app.set('view engine', 'ejs');

app.get('/', function(request, response) {
  response.render('index');
});

app.get('/:name', function (request, response) {
  var data = {age :22, hobby:['ice skate','friends']};
      const letters = require('./letters.js');
      var name = request.params.name;
      name = letters.firstUp(name);
  response.render('profile', {person: name, data: data});
});
app.listen(3000);

plik do zaimporotwania:

var Letters = function()
{
    this.firstUp = function(string)
    {
      return string.charAt(0).toUpperCase() + string.slice(1);
    }
}
module.exports = {
  letters: Letters
};

0
const Letters = require('./letters.js'); // <- tu trzymana jest klasa Letters
const letters = new Letters; // <- tu trzymany jest obiekt klasy Letters (zwróć uwagę na słówko `new`)

Nie ma to nic wspólnego z mechanizmem importowania - gdybyś zwyczajnie wkleił do swojego pliku kod klasy Letters, nadal by nie działało (bez wykorzystania new).

0

aaa dobra dobra:
tutaj jest błąd:

const letters = new Letters.letters;

dziękuje za pomoc.

0

A próbowałeś zrobić console.log(express) oraz console.log(letters) i zobaczyć co tam jest? Sprawdzić czy to ma być używane jako konstruktor (do użycia z new), jako funkcja która zwraca obiekt, czy jako już gotowy obiekt do użycia?

Zobacz też dokumentację albo tutorial, jeśli wiesz skąd pochodzą te źródła. Ewentualnie otwórz sobie te pliki i zobacz co tam jest zwracane, i ustal jak się z tego korzysta (ewentualnie wklej tutaj).

1 użytkowników online, w tym zalogowanych: 0, gości: 1