Webpack安装Bootstrap - 缺少popper.js.map

yon*_*str 11 bootstrap-4 webpack-2 popper.js

我按照https://getbootstrap.com/docs/4.0/getting-started/webpack/中的说明操作,并且还使用npm安装了jquery和popper.js.

仍然当我使用输出bundle.js时,浏览器继续发送popper.js.map的 GET请求,我需要所有资产成为bundle.js的一部分.

我搜索了很多正确的答案,但没有一个解释上面提到的说明有什么错误.请帮忙.

Hoo*_*lum 32

在popper.js文件的最后有一个这样的注释:

//# sourceMappingURL=popper.js.map
Run Code Online (Sandbox Code Playgroud)

删除它为我解决了问题.

  • “//#”语法称为pragma comment,它是编译器指令。在本例中,它向浏览器指示如何查找 js 地图。 (4认同)
  • 最好的答案,我欠你很多啤酒.所有的JS猴子都过于复杂.一个真正的语言或包微不会发出这种类型的警告.映射是一个开发项目,99%的人需要库,映射只是膨胀.当你需要的是一个简单的几个文件的UI框架时,必须使用包管理器是荒谬的.我通常同意Mozilla,但他们对这个主题的解释是短视的,偏见的和业余的. (2认同)
  • 通过删除它@Hoodlum 意味着整行。 (2认同)
  • 这个错误对我来说是 Safari 特有的,所以我只是将文件添加到 js 目录中以消除错误。https://unpkg.com/popper.js@1.14.7/dist/umd/popper.min.js.map Safari 似乎试图从 node_modules 加载链接,这当然不能。 (2认同)
  • 提醒自己:这是整行,而不仅仅是// (2认同)

KFo*_*bar 31

如果您使用的是 Laravel 5+ 和/或 Laravel Mix,这应该会有所帮助:

要使警告消失,只需添加.sourceMaps()到您的 js 文件中webpack.mix.js

mix.js('resources/js/app.js', 'public/js').sourceMaps();
Run Code Online (Sandbox Code Playgroud)

该方法将告诉 Laravel Mix 包含源映射,因为它们默认被禁用。

  • 这在 Laravel 6 中也对我有用,谢谢。 (4认同)
  • ...对于我来说,在 Laravel 7 中(恕我直言,这是一个比更改核心 popper.js 更好的主意)。 (2认同)

小智 16

删除上面建议的评论对我不起作用,所以,如果你真的想得到popper.min.js.map代码......

popper github 页面上,他们有实际popperjs 文件的链接:https : //unpkg.com/popper.js/dist/umd/popper.min.js

如果您将其更改为https://unpkg.com/popper.js/dist/umd/popper.min.js.map,您将拥有所需的一切!


Har*_*rel 5

我们可以使用Webpack 3 中的SourceMapDevToolPlugin排除 Popper.js 的源映射。

const webpack = require('webpack')

module.exports = {
  // other configs
  plugins: [
    // other plugin configs
    new webpack.SourceMapDevToolPlugin({
      exclude: ['popper.js']
    })
  ]
}
Run Code Online (Sandbox Code Playgroud)

这是我目前能看到的解决此问题的最佳方法,尤其是当 Popper.js 作为npm install --save popper.js. 这允许在不修改 Popper.js 源文件的情况下更新依赖包。


Klo*_*ven 0

CSS 映射只是浏览器开发人员工具用来帮助开发人员查找代码中某些内容的文件。

无需担心,用户一切正常。

  • 我知道一切正常,但我不想用那些重复的未使用的 GET popper.js.map 请求加载我的服务器。有没有办法至少取消这些请求? (4认同)