如何在 Svelte 中使用 jQuery

18

这样做:

import $ from 'jquery';

显示错误

The $ prefix is reserved, and cannot be used for variable and import names svelte(illegal-declaration)

4
你也可以使用 import jQuery from "jquery" 来避免使用 $ 简写,因为在 Svelte 中 $ 是保留字。更普遍地说,请参阅 https://dev59.com/ilsX5IYBdhLWcg3wAbi6 以了解使用 ES6 语法导入 jQuery 的方法。 - Thomas Hennes
谢谢,我明白了,但我现在想做的是使用一个Bootstrap组件,但我遇到的问题是脚本在组件挂载之前就运行了,所以此时没有元素与我要定位的ID匹配。 - Aneri Emmax
谢谢,我明白了,但我现在想做的是使用一个Bootstrap组件,但我遇到的问题是脚本在组件挂载之前就运行了,所以此时没有元素与我要定位的ID匹配。 - Aneri Emmax
1
https://stackoverflow.com/a/57828618/10679649 - Shaya Ulman
1
@AneriEmmax 对于你提到的另一个问题(组件未挂载),你可以使用 Svelte 的 onMount 生命周期方法。请参阅官方文档:https://svelte.dev/docs#onMount - Thomas Hennes
SvelteKit的解决方案 - lefrost
3个回答

21

你可以使用import as语法:

import * as $j from 'jquery';

或者使用anyName,这是你可以使用的内容


7
ESLint指出以"$"开头的变量名是保留的,因此不能以"$"开头,建议改用"j$"。 - Eric
这对我没用。如果我没记错,那是由于一个卷积错误,说 $ 是保留的。如果你遇到同样的问题,请参考我的答案 - Snailedlt

14
我注意到如果全局已经有 JQuery,那么你可以通过window.$而不是简单的$访问它,这样Svelte编译器就不会抱怨了。

10
像这样做 const jq = window.$; 可以节省一些按键操作。 - Drazen Urch

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接