Comment utiliser un plugin jQuery à l'intérieur de Vue
Je suis en train de construire une application web à l'intérieur de VueJS mais je rencontre un problème. Je veux utiliser une extension jQuery (cropit pour être précis), mais je ne sais pas comment instancier/exiger/importation de la bonne façon sans avoir des erreurs.
Je suis à l'aide de officiel de la CLI de l'outil et de webpack modèle pour mon Application.
J'ai inclus jQuery comme ça dans mon main.js fichier:
import jQuery from 'jQuery'
window.jQuery = jQuery
Maintenant, je suis en train de construire une image de l'éditeur de composant où je veux instancier glissée comme ceci:
export default {
ready () {
$(document).ready(function ($) {
$('#image-cropper-wrapper-element').cropit({ /* options */ })
})
},
}
Mais je continue à recevoir des erreurs...Maintenant, ma question est comment instancier jQuery et ses plugins via NPM/Webpack/Vue?
Merci d'avance!
Vous devez vous connecter pour publier un commentaire.
Option N ° 1: Utiliser ProvidePlugin
Ajouter le ProvidePlugin pour les plugins de tableau dans les deux
build/webpack.dev.conf.js
etbuild/webpack.prod.conf.js
de sorte que jQuery devient disponible dans le monde entier pour tous vos modules:L'Option n ° 2: Utilisation d'Exposer le Chargeur de module pour webpack
Comme @TremendusApps suggère, dans sa réponse, ajoutez le Exposer Le Chargeur De package:
Utiliser dans votre point d'entrée
main.js
comme ceci:webpack.base.conf.js
comment aurais-je le faire ?plugins
est un tableau, l'objet de fusion permettra de remplacer la matrice dans la base de conf. Donc, ce que vous pourriez faire est de mettre de l'instruction merge dans un varvar webpackConfig = merge(baseWebpackConfig, { ... }
alors concat les pluginswebpackConfig.plugins = webpackConfig.plugins.concat(baseWebpackConfig.plugins)
, puis enfin à l'exportationmodule.exports = webpackConfig
. Pas très élégant, mais quelque chose sur le haut de ma tête. 🙂'test': require('../src/test')
et voir si vous obtenez de test dans tous vos composants. Je l'ai fait et il fonctionne..js
fichiers que vous aurez besoin d'ajouter un/* globals $ */
au début du fichier pour votre linter pour être heureux.import 'expose?$!expose?jQuery!jquery'
)webpack.base.conf.js
comme la base pour ladev
etprod
des fichiers de configuration, il est donc préférable d'inclure jQuery dans ce fichier.Vous devez utiliser le
globals
chargeur ouexpose
chargeur pour s'assurer que webpack comprend la lib jQuery dans votre code source de sortie et donc qu'il ne jette pas des erreurs lors de votre utilisation $ dans vos composants.Si vous préférez, vous pouvez importer (exiger) directement au sein de votre webpack config comme un point d'entrée, si je comprends bien, mais je n'ai pas un exemple à main
Alternativement, vous pouvez utiliser les variables globales chargeur comme ceci:
https://www.npmjs.com/package/globals-loader
Supposons que vous avez Vue projet créé avec vue-cli (par exemple, vue init webpack mon-projet).
Aller à projet dir et exécuter
npm install jquery --save
Ouvrir le fichier
build/webpack.base.conf.js
et ajouterplugins
:Également au sommet de l'ajout de fichiers:
const webpack = require('webpack')
Si vous utilisez ESLint, ouvrez
.eslintrc.js
et ajouter à côté globals: {Maintenant, vous êtes prêt à aller. Utiliser $ n'importe où dans votre js.
NOTE Vous n'avez pas besoin d'inclure exposer le chargeur ou tout autre trucs pour utiliser cela.
À l'origine de https://maketips.net/tip/223/how-to-include-jquery-into-vuejs
De la première installation de jquery à l'aide de la ngp,
J'utilise:
Je l'utilise comme ceci:
require("<jquery-plugin-name>")
puis l'appeler comme normal dans le codejQuery(window).<pluginmethod>
Étape 1
Nous nous plaçons avec le terminal dans le dossier de notre projet et installer JQuery par mnp ou de la laine.
Étape 2
Au sein de notre fichier où nous voulons utiliser JQuery, par exemple app.js (resources/js/app.js), dans la section script nous inclure le code suivant.
importer jquery dans <script> balise dans votre vue de fichier.
Je pense que c'est le moyen le plus facile.
Par exemple,
Il y a un bien, moyen beaucoup plus facile. Ce faire:
Assurez-vous que JQuery est d'abord installé avec
npm install jquery
. Faire de même avec votre plugin.