Я сериализую класс с помощью веб-пакета «DefinePlugin», но функции, определенные в классе, не сериализуются, а только свойства. Если я сериализую функции с помощью вызова toString()
, то моя функция сериализуется следующим образом "function () { [native code] }"
. Я не уверен, что это потому, что я связываю функцию в конструкторе: this.myFunc = this.myFunc.bind(this)
. Есть ли обходной путь?
Вот мой код функции:
myFunc() {
const key = 'k1'
return this.getProperty(key)
}
А вот объявление глобальной переменной в webpack.config.js:
new webpack.DefinePlugin({
_GLOBAL_VAR_: serialize(new MyClass()) //or:
//_GLOBAL_VAR_: JSON.stringify(new MyClass())
})