TL; DR: Мне нужно добавить немного JavaScript в BrowserView
в Electron, используя executeJavaScript
.Этот код должен быть классом.Как я могу преобразовать класс в класс?
Я обнаружил, что вы можете преобразовывать функции в строку, используя +
.
const fn = function() {
console.log('Hello');
};
const functionToText = '' + fn;
console.log(functionToText);
// function() {
// console.log('Hello');
// }
*/
Но моя проблема в том, как вы можете классифицировать классы?Мне нужна строковая версия следующего объекта, созданного из класса с new
для его внедрения.
class Person {
constructor({ name }) {
this.getName = () => name;
}
}
const person = new Person({ name: 'John'});
const str = // somehow stringify person here
console.log(str);
// the person object
view.webContents.executeJavaScript(`window.person = ${str}`);
Редактировать:
Вот как я оказалсяреализуя его на основании принятого ответа:
view.webContents.executeJavaScript(
`window.person = new ${str}({ name: 'John' })`
);