我試圖從CommonJS的模塊中的Node.js導出ES6類6.2.0Node.js ES6如何從模塊中導出類?
class MyClass{
//class contents here
}
exports = MyClass;
然後將它導入另一個模塊:
var MyClass = require('/path/to/module.js')
var instance = new MyClass();
但是我得到以下例外:
TypeError: MyClass is not a constructor
我該如何正確地做到這一點?
請注意,我沒有使用Babel/Tranceur,它是最新的節點6.2.0中實現的純JS,根據Kangax的說法,它實現了93%的ES6。
//編輯:這不是出口vs module.exports的問題。單獨使用導出時,我得到一些與__proto__
集合的對象。
嘗試記錄需要模塊後得到的內容。 _If它不是構造函數,它是什麼?_ – sdgluck
*「這不是出口vs module.exports的問題」*是的! 'exports = MyClass;'不會導出任何內容。這是一個noop。 'module.exports = ...;'是從模塊中導出單個值的方法。重複解釋了爲什麼'exports = ...;'不起作用。 –
您應該將@Bergi答案標記爲正確(通過點擊他答案左側的灰色'ceck'按鈕) –