Qual è il modo corretto di utilizzare una classe definita in un file e di estenderne un'altra, in node.js?Classi ES6, con genitore in file diversi e node.js?
Attualmente ho:
'use strict'
class BasePageHandler {
constructor(app, settings, context) {
}
}
return module.exports;
Nel file di classe 'bambino' che ho:
'use strict'
var BasePageHandler = require ('./../BasePageHandler.js');
class FrontpagePageHandler extends BasePageHandler {
constructor(app, settings, context) {
super(app, settings, context);
this.settings = settings;
this.context = context;
}
}
Questo non riesce con il seguente errore:
TypeError: Class extends value #<Object> is not a function or null
nota, se io avere il BasePageHandler nello stesso file allora funziona, quindi è davvero quando la classe è in un altro file ho un problema.
Attualmente utilizzando il nodo 4.4.0.
si consiglia di utilizzare [ES6 moduli nativi] (http://exploringjs.com/es6/ch_modules.html) con il plugin [Comune JS trasformare per Babel ] (https://www.npmjs.com/package/babel-plugin-transform-es2015-modules-commonjs), invece 'module.exports'. In questo modo, il tuo codice rimarrà pronto per il futuro quando Node implementa i moduli in modo nativo. –