开发者社区 > 云存储 > 对象存储OSS > 正文

Can't find variable: AliyunUpload

web前端在项目中用了如下的上传
image.png
引入方法是在vue的项目中 在index.html中引入的
image.png

在本地用localhost上传是没有问题的,但是部署到测试环境之后报错
Uncaught (in promise) {"name": "ReferenceError", "message": "Can't find variable: AliyunUpload", "stack": "createUploader@http://activity-beta.jiyuanmed.com:5080/static/js/pages-vote-sign-up.c9d0ab31.js:1:28810\ncreateUploader@[native code]\n@http://activity-beta.jiyuanmed.com:5080/static/js/pages-vote-sign-up.c9d0ab31.js:1:28567\np@http://activity-beta.jiyuanmed.com:5080/static/js/chunk-vendors.8a9ccd37.js:50:633\n@http://activity-beta.jiyuanmed.com:5080/static/js/chunk-vendors.8a9ccd37.js:50:1988\nr@http://activity-beta.jiyuanmed.com:5080/static/js/chunk-vendors.8a9ccd37.js:1:551602\ns@http://activity-beta.jiyuanmed.com:5080/static/js/chunk-vendors.8a9ccd37.js:1:551806\n@http://activity-beta.jiyuanmed.com:5080/static/js/chunk-vendors.8a9ccd37.js:1:551865\nPromise@[native code]\n@http://activity-beta.jiyuanmed.com:5080/static/js/chunk-vendors.8a9ccd37.js:1:551756\nuploadAPI@[native code]\n@http://activity-beta.jiyuanmed.com:5080/static/js/pages-vote-sign-up.c9d0ab31.js:1:23509\np@http://activity-beta.jiyuanmed.com:5080/static/js/chunk-vendors.8a9ccd37.js:50:633\n@http://activity-beta.jiyuanmed.com:5080/static/js/chunk-vendors.8a9ccd37.js:50:1988\nr@http://activity-beta.jiyuanmed.com:5080/static/js/chunk-vendors.8a9ccd37.js:1:551602\ns@http://activity-beta.jiyuanmed.com:5080/static/js/chunk-vendors.8a9ccd37.js:1:551806\npromiseReactionJob@[native code]"}

展开
收起
游客dqie2zvjmjamg 2024-03-01 10:10:40 81 0
2 条回答
写回答
取消 提交回答
  • 根据您的描述,如果在 index.html 中已经引入了阿里云上传相关的 SDK,但是在测试环境运行时仍然出现“Can't find variable: AliyunUpload”的错误,这可能是因为:

    1. 引用路径问题
      确认在部署到测试环境后,SDK 文件的引用路径是否正确。有可能本地开发环境下由于配置差异,文件能够被正确加载,但在测试环境中路径不匹配导致加载失败。

    2. 脚本执行顺序
      检查 index.html<script> 标签的顺序,确保 AliyunUpload 的相关库或模块在使用前已经被成功加载和初始化。JavaScript 是从上至下执行的,如果在声明 AliyunUpload 变量之前就尝试调用它,将会找不到该变量。

    3. 异步加载未完成
      如果是异步加载 SDK,则需要确保在 SDK 完全加载并初始化之后再调用相关功能。可能需要监听加载完成事件或使用 Promise 的 .then() 方法来确保代码在 SDK 准备好后再执行。

    4. 构建优化导致的问题
      如果项目采用 Webpack、Rollup 等工具进行构建和打包,检查生产环境的配置是否将此依赖项正确地包含进去,并且没有因为 Tree Shaking 或者 UMD 包处理不当而移除掉必要的部分。

    5. 全局对象名称冲突
      验证引入的 SDK 是否确实导出了名为 AliyunUpload 的全局对象。有些 SDK 可能通过不同的方式暴露接口,比如挂载在某个命名空间下,或者作为模块导入而非全局变量。

    建议您查看测试环境下的 index.html 源码及网络请求情况(如通过浏览器开发者工具查看资源加载情况),确认上述原因中的某一个或多个是否导致了这个问题的发生。

    2024-03-01 14:42:43
    赞同 1 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个错误提示是说在代码中找不到名为"AliyunUpload"的变量。这可能是由于以下原因导致的:

    1. 没有正确引入阿里云上传SDK。请确保在项目中已经正确引入了阿里云上传SDK,并且在使用之前已经初始化了该SDK。

    2. 变量名拼写错误。请检查代码中是否存在拼写错误,确保变量名与实际定义的变量名一致。

    3. 变量作用域问题。请检查变量是否在正确的作用域内,如果变量定义在函数内部,需要确保在函数外部无法访问该变量。

    2024-03-01 13:39:18
    赞同 展开评论 打赏

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载