console.clear() 由于“保留日志”而被阻止

问题描述 投票:0回答:1

我是 Web 开发领域的新手,刚刚完成 Jonas Schmedtmann 的 JS 课程。

但是,在我想做的第一个项目中,我遇到了以下错误并且无法解决。

我运行parcel并开始编写一行javascript测试代码后,编写的第一行代码出现在控制台中,但随后出现了问题。

在控制台中编写另一段代码后,仍然出现以下消息:“console.clear() 由于‘保留日志’而被阻止”,它前面有一个类似于数字的指示符。

当我向控制台添加内容时,控制台会因此消息而冻结,该消息仅更新其前面的数字(数字从 2 增加到 2)。

当我单击错误时,它会将我带到源表,其中指示错误位于以下代码中:

// 处理 HMR 更新 让处理=资产.每个(资产=> { 返回 asset.type === 'css' || asset.type === 'js' && hmrAcceptCheck(module.bundle.root, asset.id, asset.depsByBundle); }); 如果(已处理){ console.clear();

即使我在浏览器中选中了保留日志功能,也会出现该错误,但如果未选中它,也会出现该错误。

提前谢谢您!

我在浏览器中选中并取消选中了 Preserver log 选项,但问题仍然存在。

console
1个回答
0
投票

您似乎在项目设置中遇到了热模块替换 (HMR) 问题。您看到的错误与尝试使用

console.clear()
清除控制台有关。

以下是一些排查和解决问题的建议:

  1. 检查浏览器控制台设置: 确保您没有任何可能干扰 HMR 的断点或日志。有时,代码中存在断点可能会导致问题。另外,请确保您的浏览器控制台设置不会阻止控制台清除。

  2. 更新包裹: 确保您使用的是最新版本的 Parcel。您可以通过在项目目录中运行以下命令来更新 Parcel:

    npm install -g parcel-bundler

  3. 检查依赖关系: 确保您的所有项目依赖项都是最新的。您可以通过运行来做到这一点:

    npm update

  4. 检查您的 JavaScript 代码: 检查您编写的 JavaScript 代码。确保不存在可能导致意外行为的语法错误或逻辑问题。

  5. 禁用控制台清除: 如果问题仍然存在,您可以尝试从 Parcel 源中的 HMR 处理代码中注释掉或删除

    console.clear();
    行。这是一种临时解决方法,从长远来看可能不是推荐的解决方案。 找到如下所示的代码块:

    if (handled) { console.clear(); }

    并注释掉或删除

    console.clear();
    行:

    if (handled) { // console.clear(); }

  6. 检查浏览器扩展: 有时,浏览器扩展可能会干扰 Web 开发工具。尝试逐一禁用浏览器扩展程序,看看是否有任何扩展程序导致了问题。

  7. 浏览器兼容性: 确保您使用的浏览器受到 Parcel for HMR 的良好支持。流行的选择包括 Google Chrome 和 Mozilla Firefox。

尝试这些步骤后,如果问题仍然存在,您可能需要查找与您的 Parcel 版本和您所工作的环境相关的特定信息。检查 Parcel GitHub 存储库或社区论坛以获取任何报告的问题或更新。

© www.soinside.com 2019 - 2024. All rights reserved.