我正在开发一个 Vue 组件,该组件将通过 CMS 系统放置在多个网站上。我遇到的问题是,即使我的 js 脚本加载顺序正确,有时我也会收到此错误:
Uncaught ReferenceError: Vue is not defined
at HTMLDocument.<anonymous>
Vue 是通过 cdn 加载的,它位于组件的代码之上。
所有的 Vue 代码都是这样运行的:
document.addEventListener("DOMContentLoaded", () => {
// here is the Vue code
});
我什至在 DOMContentLoaded 事件中添加了一个 setTimeout() ,但仍然没有成功。 window.onload = function()
在所有情况下都不起作用。我仍然不时收到该错误。脚本加载到正文中。
你知道它可以是另一种方法吗?我想确保在触发 Vue 代码的那一刻,Vue 已加载并准备好在页面上进行初始化。谢谢!
原文由 Bogdan Lungu 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 load 事件 等待所有资源完成加载:
进一步说明
您还可以 对特定脚本使用 load 事件。