【发布时间】:2023-03-05 03:29:01
【问题描述】:
在将 Jquery 与 Jsdom 一起使用时,我收到控制台错误“$ 不是函数”。我正在使用最新的 Jquery 版本 3.3.1 和 Jsdom 13.2.0。我也在使用 Browserify 来利用 require。
main.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)是怎么回事?这不会返回一个jQueryobject,包装window吗? -
对jquery有特殊需求吗?不讨厌 jquery,但我只是不明白为什么你需要它在服务器端。
标签: javascript jquery node.js jsdom