vue + prerender + html-webpack-plugin 打包百度商桥项目报错

因为使用了vue + prerender + html-webpack-plugin 打包

这里打包使用了预渲染静态 html ,渲染时会把百度商桥和离线宝的 js 也镶嵌到 html 代码里面 ,而百度商桥和离线宝的 js不能静态加载

所以要把静态 html 里的 baidu.com 有关商桥和离线宝的js都先删除

然后设置延迟加载百度统计代码,他会自动把百度商桥和离线宝的代码也加载进html

新建一个hm.js ,内容如下:

export default {hm: function () {if(T){clearTimeout(T);}//因为使用了vue + prerender + html-webpack-plugin 打包//这里打包使用了预渲染静态 html ,渲染时会把百度的 js 也镶嵌到 html 代码里面//所以要把静态 html 里的 baidu.com 有关商桥和离线宝的的js都先删除//然后设置延迟加载百度统计,他会自动把商桥代码也加载进htmllet script = document.getElementsByTagName('SCRIPT')for(let x in script){if(script[x].src && script[x].src.indexOf('baidu.com') !== -1){console.log(script[x].src);script[x].remove();}}let T = setTimeout(function(){var hm = document.createElement("script");hm.src = "https://hm.baidu.com/hm.js?百度统计id";hm.id = "123123";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);},1000);},
}

在vue组件,例如index.vue中引入 hm.js ,并在mounted中调用函数

<template><div class="index"></div>
</template><script>import hm from './../utils/hm.js';export default {name: 'index',data() {return {}},components: {},mounted() {let that = this;// 百度商桥hm.hm();},destroyed: function () {// 百度商桥var child=document.getElementById("newBridge");child.parentNode.removeChild(child);},}
</script>

在使用 npm run build 打包,延迟1秒后,将自动加载出百度商桥

vue + prerender + html-webpack-plugin 打包商桥项目报错相关推荐

  1. Vue中3.0版本严格模式运行项目报错

    vue3.0脚手架搭建项目在运行中报错,如下: 造成报错的原因是,vue3.0脚手架搭建项目的时候使用了严格模式 eslint,然后代码中我们使用了换行这些,就会导致项目运行出错 这个时候我们找到pa ...

  2. vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理)

    vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理) 参考文章: (1)vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理) (2)https://www. ...

  3. vue打包npm run build报错

    vue打包npm run build报错: 近期领导要求用vue做一个项目,最近在研究和学习vue,在项目打包时一直报错,这个问题困扰了好久,尝试了很多网上办法,但都没有用 电脑每次开机首次执行npm ...

  4. 关于webpack打包时less-loder安装报错处理

    关于webpack打包时less-loder安装报错 loadercontext.getresolve is not a function 需要换低版本的less-loader 在package.js ...

  5. vue创建项目报错command not found:create-webpack

    vue创建项目报错command not found:create-webpack vue创建项目报错command not found:create-webpack,请不要怀疑,是你创建项目命令写错 ...

  6. DEA中创建父子工程与maven打包Springboot聚合工程报错程序包不存在

    DEA中创建父子工程与maven打包Springboot聚合工程报错程序包不存在 问题描述 springboot 项目打包(package)或安装到仓库(install)的时候报错:程序包com.fu ...

  7. 【jenkins打包maven项目报错记录】

    jenkins打包maven项目报错记录 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3 ...

  8. Eclipse创建的Maven项目报错Could not calculate build plan: Plugin

    Eclipse创建的Maven项目报错Could not calculate build plan: Plugin 2018年05月10日 21:59:25 TIMI-Nian 阅读数:5040 标签 ...

  9. vscode 设置保存格式化,当保存时,单引号变成了双引号,vue项目报错

    新建一个vue项目并设置了格式化,当我们在初始化结构目录中进行修改并保存时,会出现单引号变成了双引号,导致运行项目报错问题,解决方法如下: 在项目根目录中,新建一个文件,命名为' .prettierr ...

最新文章

  1. [Treap]JZOJ 4737 金色丝线将瞬间一分为二
  2. UML建模的要点总结
  3. Linux 内核链表剖析(二十)
  4. Bootstrap富文本编辑器-bootstrap-wysiwyg
  5. apache服务器搭建过程中需要注意到的一些问题
  6. Spring思维导图,让spring不再难懂(一)
  7. 并发基础知识:死锁和对象监视器
  8. 自然语言处理的一些链接
  9. 病毒行为分析初探(二)
  10. 关于XSS的一些介绍
  11. 改善程序与设计的55个具体做法 day5
  12. vision里面pt与字号大小对应关系
  13. 西门子PLC 间接寻址(指针)
  14. Python验证信用卡号码是否有效
  15. 应用程序正常初始化(0xc150002)失败
  16. 2022年天梯赛题目解析
  17. 百斗度输入法linux,爪哇语输入法
  18. 供应链管理起源:不能不提日本
  19. 开始自学SAP以及学习路线
  20. 调试DuerOS的智能语音技能

热门文章

  1. gpu运行pycharm
  2. VC获取系统空闲时间
  3. iOS 热更新,实时代码更新,动态更新,动态库framework
  4. 服务器重启后启动php项目
  5. Excel中利用vba将多个sheet合并在一个sheet中的方法
  6. FL Studio 教程之扫弦简介
  7. x86嵌入式主板定制版型选购标准
  8. 通俗易懂数仓建模:范式建模与维度建模
  9. docker安装mysql(PXC)集群
  10. 【读书推荐】中国是部金融史