为什么这些console.log语句不起作用?电子

时间:2018-04-16 21:12:09

标签: javascript electron

我想在这里测试一下。

我正在使用电子和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())
    }
})

为什么控制台日志语句没有记录?感谢您的任何意见:)

1 个答案:

答案 0 :(得分:1)

电子有2个过程,因此有2个控制台。这两个进程是main和renderer,main是一个node.js进程,渲染器是一个浏览器进程。

如果在渲染器进程中,主进程console.log将显示在终端中(如果在dev中运行)或在浏览器控制台窗口中显示。

您似乎是根据ipcRenderer语句从渲染器进程进行记录。

渲染器控制台可以通过标准的chrome devtools快捷方式显示(因为它运行的是chrome实例)(通常是F12)

您无法在主要渲染器或主渲染器中看到渲染器中的任何控制台语句。