【发布时间】:2017-09-24 22:09:19
【问题描述】:
我正在开发一个 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 已加载并准备好在页面上进行初始化。 谢谢!
【问题讨论】:
-
尽量避免使用 CDN,这是一个异步进程,如果库更新,您的脚本可能会被破坏。
-
作为解决方案,您可以检查间隔:'是 Vue 未定义吗?'
标签: javascript html vue.js