Comment faire pour utiliser jQuery avec Tapuscrit
Je suis en train
$(function(){
alert('Hello');
});
Son montrant cette erreur dans Visual Studio: (TS) Cannot find name '$'.
. Comment puis-je utiliser jQuery avec Tapuscrit ?
- Vous pouvez simplement inclure cette ligne
import * as $ from "jquery";
Vous devez vous connecter pour publier un commentaire.
Très probablement, vous devez télécharger et inclure les Tapuscrit de la déclaration de fichier pour jQuery—
jquery.d.ts
—dans votre projet.Option 1: Installation de l' @package types (Recommandé pour les TS 2.0+)
Dans le même dossier que votre paquet.json fichier, exécutez la commande suivante:
Ensuite, le compilateur va résoudre les définitions de jquery automatiquement.
Option 2: Télécharger Manuellement (Pas Recommandé)
Télécharger ici.
Option 3: Utilisation de Typings (Pré TS 2.0)
Si vous utilisez typings vous pouvez inclure cette façon:
Après la configuration, le fichier de définition, de l'importation de l'alias (
$
) le Tapuscrit de fichier à utiliser comme vous le feriez normalement.Vous pouvez avoir besoin de compiler avec
--allowSyntheticDefaultImports
—ajouter"allowSyntheticDefaultImports": true
dans tsconfig.json.Aussi Installer le Paquet?
Si vous n'avez pas installé jquery, vous voulez probablement pour l'installer en tant que dépendance via npm (mais ce n'est pas toujours le cas):
npm install --save-dev @types/jquery
? Où trouver plus d'infos sur cette s'il vous plaît?import * as $ from 'jquery'
/// <reference path="....jquery.d.ts..."/>
liées à tout cela?Error TS1192 Module '"jquery"' has no default export.
POUR Code de Visual Studio
Ce qui fonctionne pour moi est de m'assurer que je ne le standard de la bibliothèque JQuery chargement à l'aide d'un < script > dans la balise index.html.
Exécuter
Maintenant le JQuery $ sont les fonctions disponibles dans tous les .les fichiers ts, pas besoin de tout les autres importations.
javascript declare var jquery: any; declare var $: any;
Dans mon cas, j'ai eu à faire ce
Puis dans le fichier de script
A.ts
Je crois que vous avez peut-être besoin le Tapuscrit typings pour JQuery. Puisque vous avez dit que vous êtes à l'aide de Visual Studio, vous pouvez utiliser Nuget pour les obtenir.
https://www.nuget.org/packages/jquery.TypeScript.DefinitelyTyped/
La commande de la Console du Gestionnaire de Package Nuget est
Mise à jour: Comme indiqué dans le commentaire de ce forfait n'a pas été mis à jour depuis 2016. Mais vous pouvez toujours visiter leur page Github à https://github.com/DefinitelyTyped/DefinitelyTyped et télécharger les types. Naviguer dans le dossier de votre bibliothèque, puis télécharger le
index.d.ts
fichier. Pop n'importe où dans votre répertoire de projet et VS devez l'utiliser tout de suite.Angulaire de la CLI V7
Assurez-vous que jquery a une entrée dans angulaire.json -> scripts
Aller à tsconfig.app.json et d'ajouter une entrée dans "types"
Mise à JOUR 2019:
Réponse par David, est plus précis.
La machine prend en charge le 3ème fournisseur tiers des bibliothèques, qui ne pas utiliser la Machine pour le développement des bibliothèques, à l'aide de DefinitelyTyped Repo.
Vous avez besoin de déclarer
jquery
/$
dans votre Composant, Si tsLint est pour ces types de Type de Vérifications.Pour Eg.
declare
mot-clé est utilisé. Mais, là encore, nous pouvons dire vscode sur typings s'ils sont présents dansnode_modules
, c'est pourquoi l'installation de typings aider dans intellisense, mais pour une vanille webpack projet, sansdeclare
mot-clé du projet transpilation échoue. J'ai enlevé mon énoncé de la réponse, pour ne pas embrouiller les gens.import JQuery from 'jquery'; declare var $: JQuery;
. Pas sûr que cela fonctionnera.Si vous souhaitez utiliser jquery dans une application web (par exemple, Réagir) et jquery est déjà chargé avec
<script src="jquery-3.3.1.js"...
Sur la page web que vous pouvez faire:
vous n'avez donc pas besoin de charger jquery une seconde fois (avec
npm install --save jquery
)mais ils ont tous les avantages de la Machine
Cela fonctionne pour moi:
Voici mon Tapuscrit & jQuery config étapes.
Il fait de jQuery prise en charge des types de travail mieux que la plupart des articles dans l'internet . ( Je crois. )
première:
seconde( très très très important ! ! ! ):
ensuite , Vous Pouvez Profiter de :
Il est lisse et soyeuse !!!
declare global { interface Window { $ :JQueryStatic; } }
dans yourTypeDeclaration.d.ts . Et à bien considérer , vous devez vérifier si $ est monté dans 【fenêtre】. Commeimport $ = require('jquery'); window.$ = $ ;
, ou votre jQuery【$】 a été monté en externe balise de script .import $ = require('jquery') ; window.$ = $;
. (Vous feriez mieux de l'init celui-ci , dans votre point de départ du projet . Et je préfère créer unsdk
dir , de gérer l'extérieur de tous les lib de l'exigence et de l'initiale dans un fichier ou le lieu ).