私は2つのクラスを持っています。私は、クラスを拡張するから呼び出すことができるメソッドを持っている必要がありますが、拡張クラスモジュールが入っているものは何でもディレクトリ反映するために、パスを解決します。NodeJSで必要なモジュールのパスを取得する
/main.js
class Main {
getTemplate() {
return readFileSync(__dirname + './template.ejs')
}
}
/いくつかの/パス/モジュール。 JS(また/some/path/template.ejsを含む)のメインコードで
class Module extends Main {
}
const m = new Module()
m.getTemplate() // /some/path/template.ejs
__dirnameに 'module.js'パスが反映されていないため、上記は機能しません。
私はrequire.resolve
で遊んだことがありますが、モジュール内からこれをどのように使用できるのかよくわかりません。
私はこれと同様のことをやっています。しかし、私はできるだけコンストラクタを呼び出すことなく、そうしたいと思います。 – cyberwombat