gpt4 book ai didi

javascript - Node.js 中的 Jquery 错误 '$ is not a function'

转载 作者:行者123 更新时间:2023-11-30 11:07:55 29 4
gpt4 key购买 nike

在将 Jquery 与 Jsdom 结合使用时,我收到控制台错误“$ is not a function”。我正在使用最新的 Jquery 版本 3.3.1 和 Jsdom 13.2.0。我也在使用 Browserify 以利用 require。

主要.js

var jsdom = require('jsdom');
const { JSDOM } = jsdom;
const { window } = new JSDOM();
const { document } = (new JSDOM('')).window;
global.document = document;

var $ = jQuery = require('jquery')(window);

$("body").click(function() {
$("#name-tag").fadeOut("slow", function() {
// Animation complete.
});
});

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale = 1.0, maximum-scale=1.0, user-scalable=no"
/>
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<link rel="stylesheet" href="scss/styles.css" />
<script src="js/bundle.js"></script>
</head>
<body>
<div id="name-tag">
<h1>Hello World</h1>
</div>
</body>
</html>

最佳答案

require('jquery') 之后去掉 (window),所以它应该是:

var $ = jQuery = require('jquery');

你写的是重新定义 $jQuery 就好像你已经完成了一样:

jQuery = require('jquery');
var $ = jQuery = jQuery(window);

顺便说一句,您不能像那样通过链接assignments 来声明两个变量。只有第一个变量在本地声明,第二个是没有声明的赋值。如果要声明两个变量并赋予它们相同的值,请分两步进行:

var $, jQuery;
$ = jQuery = require('jquery');

关于javascript - Node.js 中的 Jquery 错误 '$ is not a function',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54936246/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com