添加 Javascript 库时,Chrome 抱怨缺少源映射,为什么?

Ede*_*dee 75 google-chrome-devtools

我的代码

<html>
  <head>
    <!-- Load TensorFlow.js -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script> 
    <!-- Load Posenet -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/posenet"></script> 
 </head>

  <body>
    <img id='cat' src='./pose/images/aa_085.jpg'/>
  </body>
  <!-- Place your code in the script tag below. You can also use an external .js file -->
  <script>
    var flipHorizontal = false;

    var imageElement = document.getElementById('cat');

    posenet.load().then(function(net) {
      const pose = net.estimateSinglePose(imageElement, {
        flipHorizontal: true
      });
      return pose;
    }).then(function(pose){
      console.log(pose);
    })
  </script> 
</html>
Run Code Online (Sandbox Code Playgroud)

很少使用HTML和JS,几乎忘记了最基本的东西,有没有好心人指出我的傻瓜?附上错误信息。

DevTools 无法加载 SourceMap:无法加载https://cdn.jsdelivr.net/npm/@tensorflow/tf.min.js.map 的内容:HTTP 错误:状态码 404,net::ERR_HTTP_RESPONSE_CODE_FAILURE

GAU*_*SHI 88

这对我有用

转到检查 -> 设置齿轮 -> 取消选中“启用 javascript 源映射”和“启用 css 源映射”。

刷新。

(注意:如果上述过程不起作用,请停用 adBlock。)

  • 它确实有效,但这不是消除了问题而不是解决了问题吗?问题在浏览器终端上解决,而不是在网页代码中解决! (20认同)
  • 另一种解决办法是闭上眼睛。我现在一直闭着眼睛,从来没有看到过这个警告。问题解决了! (18认同)
  • 这是如何获得 76 票赞成的?这是错误的。您是否要在使用您网页的每台用户电脑上禁用此功能? (17认同)
  • 这个答案基本上是“如果不起作用,只需卸载,错误就会消失” (8认同)
  • 取消选中这两个选项**而不**禁用 AdBlock 解决了问题。 (2认同)

Iva*_*van 24

JsDelivr 上的较新文件将源映射自动添加到它们的末尾。这很好,只要您从 JsDelivr 加载文件,就不会在控制台中抛出任何与 SourceMap 相关的通知。只有当您复制然后从您自己的服务器加载这些文件时才会出现问题。为了解决本地加载文件的这个问题,只需删除从 JsDelivr 下载的 JS 文件中的最后一行。它应该是这样的:

//# sourceMappingURL=/sm/64bec5fd901c75766b1ade899155ce5e1c28413a4707f0120043b96f4a3d8f80.map
Run Code Online (Sandbox Code Playgroud)

如您所见,它已被注释掉,但 Chrome 仍在解析它。

  • 这是可行的,但有人能解释一下它为什么在那里以及它有什么作用吗? (3认同)
  • 删除该行修复了显示该警告的问题,但我不知道它的作用。 (2认同)
  • 这应该是最佳答案+1 (2认同)
  • 根据定义,源映射 URL 是注释(请参阅 [MDN 文档](https://developer.mozilla.org/en-US/docs/Tools/Debugger/How_to/Use_a_source_map))。所以唯一的解决办法就是将其删除。 (2认同)

Val*_*oev 22

这对我有用:而不是

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>

尝试

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs/dist/tf.min.js"> </script>

在那次更改之后,我不再看到错误。


Ada*_*ani 14

另外,我会面临同样的问题,因为 kendo Telerk Ui javaScript 文件。为此,您需要做的是, 从检查元素中取消选中“启用 JavaScript 源映射”和“启用 CSS 源映射”,如图所示并刷新网页。

在Inspect元素的设置中

取消选中“启用 JavaScript 源映射”和“启用 CSS 源映射”

  • 不,这是完全错误的。这仅适用于您的浏览器,您是否希望每个使用此网页的用户都更改其设置? (9认同)
  • 这基本上与 [GAURAV MOKASHI 的答案](/sf/ask/4284377331/ #63383126)(尽管有很棒的屏幕截图)。 (4认同)
  • 这会删除该消息,但并不能解决问题。 (3认同)

Cod*_*ife 14

当它\xe2\x80\x99s烦人的警告时

\n

DevTools failed to load SourceMap: Could not load content for http://********/bootstrap/4.5.0/css/bootstrap.min.css.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

\n

按照此路径删除/*# sourceMappingURL=bootstrap.min.css.map */文件bootstrap.min.css中棘手的\n行。

\n

  • 这类似于[伊万的回答](/sf/ask/4284377331/#64152797 )。 (2认同)

har*_*ula 7

我使用了 CSS 文件的缩小版本,它对我有用。

使用: import 'react-toastify/dist/ReactToastify.min.css'

代替:import 'react-toastify/dist/ReactToastify.css'


小智 6

就我而言,我不得不停用 AdBlock 并且效果很好。