Bootstrap尝试加载地图文件。如何禁用它?我需要这样做吗?


127

我最近在玩bootsrap3。我从源代码编译了它,并将distr js和CSS包含到我的项目中。事实是,我在GH开发人员工具中看到,它正在尝试获取.map.css文件。为什么要这样做?如何禁用它?我需要禁用它吗?为了在开发工具中不会出现错误标记,我添加了该映射文件,之后,所有样式都按照在较少文件中定义的样式显示,这对我没有多大帮助。


4
以下给出的答案是否可以回答您的问题?如果没有,您能否更新您的问题,以便我们改善答案?
Dominic Zukiewicz 2015年

Answers:


162

/*# sourceMappingURL=bootstrap.css.map */从中删除行bootstrap.css


37
请简要解释您的答案,以使您的答案对OP和其他读者更有用。
Mohit Jain 2014年

9
这是可行的,但是如果直接从node_modules引用引导程序,则重新安装引导程序时,该覆盖将被覆盖
Alexander

2
哇!绝对疯狂……仅当您“删除”该行(如您所说)时,此方法才有效……注释掉仍然会产生404错误!很高兴我偶然发现了您的帖子!
flipflopmedia

117

.map文件允许浏览器下载缩小版JS的完整版本。它确实是出于调试目的。

实际上,缺少.map并不是问题。您只知道它丢失了,因为浏览器已打开其Developer工具,检测到一个缩小的文件,并且仅通知您JS调试效果不佳。

这就是为什么像jQuery这样的库也具有完整文件,缩小文件和地图文件的原因。

有关.map文件的完整说明,请参见本文:


1
下载吗?来自哪里?我假设这些.less文件以某种方式打包在地图文件中。并且在页面加载时,bootrap从程序包中重新创建这些文件。
dhblah

1
从同一目录中获取.js。请记住,仅当开发人员工具处于打开状态时才记住它,而不是通常的请求。
Dominic Zukiewicz 2014年

感谢您的答复,但.less我的项目中没有文件。我仅添加.css.js文件以及该map文件。
dhblah 2014年

1
@Raymond:开发人员工具不理解.min.css之类的文件名-毕竟-我们可以保证它是缩小的吗?否..它会下载.map只是为了确保它具有两个副本。同样,这是通过开发人员工具启用的。如果您关闭工具窗口,则不会要求它。
Dominic Zukiewicz 2014年

3
重申一下,仅在打开开发工具时才请求并使用.map文件,因此,如果缺少该文件,则当典型用户转到您的页面时,您不会收到任何额外的失败请求。
tomf

27

删除行/*# sourceMappingURL=bootstrap.css.map */bootstrap.css

如果错误仍然存​​在,请清理浏览器的缓存(CTRL + F5)。


1
两年后答案相同吗?
Panu Haaramo

17

这仅在使用开发工具时发生,而对于普通用户访问生产服务器则不会发生。

无论如何,我发现仅在dev-tools中禁用此行为很有用:打开设置并取消选中“启用源映射”选项。

不再尝试访问地图文件。


我认为这可能是最相关的答案。仅当提到的文件与您的应用程序打包在一起时,其他文件才有意义-并非总是如此。
Lukino

16

删除"/*# sourceMappingURL=bootstrap.min.css.map */ "以下文件中的行。

  • css / bootstrap.min.css
  • css / bootstrap.css

要在Linux中获取文件路径,请使用以下命令 find / -name "\*bootstrap\*"


源映射文件,例如bootstrap.min.css.map,是在文件缩小/编译过程中自动生成的。生产实际上并不需要它们,但同时占用的磁盘空间是它们正在映射的磁盘空间的三倍。这就是为什么我们不在发行版中包含它们。如果您只想删除该消息,则可以在bootstrap.min.css,bootstrap.min.js和popper.min.js中删除/ *#sourceMappingURL = bootstrap.min.css.map * /之类的注释,或下载源代码将Bootstrap 4.1.3发行版中的文件映射到libs目录中。
Ajay Takur

6

如果您没有正确的.map文件,并且不想在bootstrap.css中编辑行,则可以创建一个虚拟.map文件。

就我而言,我看到了错误:

GET /bootstrap.css.map not found.

因此,我在/ public目录中创建了一个空的bootstrap.css.map,错误停止了。


1
无法使用之bower类的功能,因为在生产模式下会从源代码安装引导程序。对于表示删除该行的任何答案也是如此/*# sourceMappingURL=bootstrap.css.map */
monteirobrena


1

从bootstrap.css中删除最后一行/ *#sourceMappingURL = bootstrap-theme.css.map * /



1

对我来说,与bootstrap.css一起创建了一个空的bootstrap.css.map,错误停止了。


1

删除此行即可解决此问题,但问题是boostrap文件位于 bower_components插入并且未检入源代码管理。

因此,团队中的每个开发人员在提取存储库并执行操作时都将获得带有地图参考的css文件bower install(这是使用新存储库的一部分)。

该文件不应引用不存在的映射。


1

好,最近我遇到了这个问题,我有一个非常简单的解决方案来解决此问题,请按照以下步骤操作: 转到这些目录src-> app-> index.html打开index.html并找到 <base href="your app name ">将其更改为<base href="https://stackoverflow.com/">


0

删除bootstrap.css中的最后一行

跟随lin / *#sourceMappingURL = bootstrap.css.map * /


尝试解释问题以及您的答案如何得到解决,它的优良做法使新用户可以了解发生了什么
Pankaj Nimgade 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.