我想在这里测试一下。
我正在使用电子和javascript。我试图在用户选择配置文件时将配置文件加载到页面中。我的控制台日志语句都没有显示在控制台中,但是当用户进行“profileSelect”更改事件时,值会正确加载。我测试这个的原因是因为我试图在这个文件中添加一个附加内容,选中一个复选框(它也不起作用)。
profileSelect.change(function(event) {
//If the value isn't null
console.log('yo')
if (profileSelect.val() == '') {
clearBilling();
} else {
ipcRenderer.once(profileSelect.val() + 'profileData', function(event, data) {
//Return card to style it was first added like
console.log('sshi')
//This allows us to parse the data on profile save
const cardParse = String(data.card.number).match(/.{3,4}/g).join(' ')
const dateParse = String(data.card.month) + ' / ' + String(data.card.year);
profileName.val(profileSelect.val());
billingFirstName.val(data.billing.firstName);
billingLastName.val(data.billing.lastName);
billingAddress1.val(data.billing.address1);
billingAddress2.val(data.billing.address2);
billingCity.val(data.billing.city);
billingState.val(data.billing.state);
billingZipcode.val(data.billing.zipcode);
billingCountry.val(data.billing.country);
billingPhone.val(data.billing.phone);
billingEmail.val(data.email);
shippingFirstName.val(data.shipping.firstName);
shippingLastName.val(data.shipping.lastName);
shippingAddress1.val(data.shipping.address1);
shippingAddress2.val(data.shipping.address2);
shippingCity.val(data.shipping.city);
shippingState.val(data.shipping.state);
shippingZipcode.val(data.shipping.zipcode);
shippingCountry.val(data.shipping.country);
shippingPhone.val(data.shipping.phone);
cardName.val(data.card.name);
cardNumber.val(cardParse);
cardCVV.val(data.card.code);
cardExpire.val(dateParse);
})
//Send the selected profile
ipcRenderer.send('requestProfile', profileSelect.val())
}
})
为什么控制台日志语句没有记录?感谢您的任何意见:)
答案 0 :(得分:1)
电子有2个过程,因此有2个控制台。这两个进程是main和renderer,main是一个node.js进程,渲染器是一个浏览器进程。
如果在渲染器进程中,主进程console.log
将显示在终端中(如果在dev中运行)或在浏览器控制台窗口中显示。
您似乎是根据ipcRenderer
语句从渲染器进程进行记录。
渲染器控制台可以通过标准的chrome devtools快捷方式显示(因为它运行的是chrome实例)(通常是F12)
您无法在主要渲染器或主渲染器中看到渲染器中的任何控制台语句。