[转]vue:引入外部cdn报错 ‘XXX is not defined’ 及事件处理办法

框架:vue-cli(vue脚手架

例:以cdn引入腾讯防水墙为例

前因:在html的head中引入外部cdn链接,

在vue文件中直接使用,如图:

结果:如图报错。

解决办法:

1. 在index.html中的head中引入,

2.在webpack.base.conf.js中配置

module.exports = {
  externals: {
    TencentCaptcha: 'TencentCaptcha'
  },
....
}

如果采用的是vue-cli3版本,则需要在vue.config.js 文件中配置 externals:

复制代码
module.exports = {
  devServer: {
    port: 3200// 端口号配置
  },
  configureWebpack: {
    externals: {
      TencentCaptcha: 'TencentCaptcha'
    }
  }
}
复制代码

注: vue.config.js 文件要自己创建,vue-cli 3.0 不会自动生成此文件。 此外,修改 vue.config.js 不会触发热加载,也就是修改之后你需要重新 run 一下你的项目,它才能生效。

3.在需要使用的vue文件中引入

import TencentCaptcha from 'TencentCaptcha';

使用:

复制代码
let t = new TencentCaptcha(this.$appid, (rsp) => {
            console.log(rsp);
            t.destroy();
            if (rsp.ret === 0) {
              ...
            } else {
            }
          }, {});
          t.show();
复制代码

关于腾讯防水墙的文档官方说明

参考链接:

1、vue:引入外部cdn报错 ‘XXX is not defined’ 及事件处理办法

2、vue TencentCaptcha腾讯验证码

posted @   rainbow70626  阅读(736)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2021-01-21 [转]spring-framework-x.x.x.RELEASE-dist下载教程
2021-01-21 [转]MySQL和MySQL驱动mysql-connector-java升级到8.0.X版本
2021-01-21 MySQL版本是8.0.3,数据库连接字符串都检查无误,驱动类名加不加cj都试过了,URL是否加时区、是否加useSSL都试过了,都无法正常登录进去!
2021-01-21 Intellij IDEA部署Web项目到tomcat时提示:Error:Cannot build Artifact ':war exploded' because it is included into a circul
2021-01-21 MySql中的driverClassName、url
2019-01-21 Qt Creator中根据为Windows系统还是Linux系统对源码进行条件编译
2019-01-21 如何在Qt Creator中导入图标资源
点击右上角即可分享
微信分享提示