【发布时间】:2021-02-14 00:36:35
【问题描述】:
当我使用 Vue 和 jQuery 调用“require”函数时,我注意到了一个特殊的行为。
对于 Vue,我可以使用以下任何一种语句结构,并且我的应用程序可以正常运行:
window.Vue = require('vue');
window.$ = window.Vue = require('vue');
但是,对于 jQuery,我只能使用:
window.$ = window.jQuery = require('jquery');
...因为如果我以window.jQuery = require('jquery'); 的方式尝试它,我的 jQuery 动画(为我的应用程序定制的代码块)不起作用。这是 jQuery 动画代码(它使导航栏汉堡图标显示和隐藏位于我的视图标题中的菜单选项):
$(document).ready(function() {
// Check for click events on the navbar burger icon
$(".navbar-burger").click(function() {
// Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
$(".navbar-burger").toggleClass("is-active");
$(".navbar-menu").toggleClass("is-active");
});
});
- 为什么
window.$是 jQuery 的强制赋值而不是 Vue.js 的强制赋值?由于 jQuery 的性质,这是一个强制性的分配吗? - 当我在 Vue 中使用
window.$分配时,我是否在做一些影响我的应用程序性能的事情? - 除了始终使用
window.$之外,是否有通用的方法来执行这些“要求”(或导入)? - 我还注意到
window.Vue和window.jQuery表示库的实例,它们是可选的,取决于自定义代码块中库实例的使用,是正确的方法还是它们的声明提高了应用程序性能或还有其他影响吗?
我的背景:我正在拨打这些“要求”电话 resources/assets/js/app.js,而我正在集中我的 JavaScript 文件以使用 Laravel Mix。
感谢您的解释。请,如果您能附上 jQuery 文档的链接或任何其他可以更深入地解释您的答案的来源,我将不胜感激:)!
【问题讨论】:
标签: javascript jquery vue.js require laravel-mix