vue项目中明明已经通过以下配置关闭了在控制台输出提示信息,但是仍然会打印?
Vue.config.productionTip = false
Vue.config.devtools= false
Vue.config.debug= false
一、问题分析:
这是因为vue项目被打包后,Javascript源代码通常会被合并和缩小,以优化网站以更快地加载并减少带宽使用,压缩后的脚本是一个从转换的源映射到原始源的文件,它让浏览器能够重建原始源并将重建的原始源显示给调试器。而为了使调试器能够使用源映射,则会生成一个源映射文件,并将其作为指向源映射文件的注释包含在转换后的文件中,如下所示:
//# sourceMappingURL=http://example.com/path/to/your/sourcemap.map
而当我们vue项目index.html之类的入口界面把某些脚本加载到项目中并打包后,这些脚本并不会生产对应的源映射,可是在脚本中却声明了映射文件(sourceMappingURL),此时浏览器自然就抛出了异常,所以控制台打印的并非项目本身输出的,而是Chrome的提示!
二、解决方案:
知道了原因,我们只需从对应静态引入的脚本中删除上提到的 //# sourceMappingURL= xxxxxxx 该行代码,或者根据引导版本,下载相应的源映射文件,并将其放在对应脚本所在的目录中即可解决问题。