web-dev-qa-db-fra.com

Comment utiliser jQuery et jQuery-ui avec Parcel (bundler)?

J'ai installé jquery (3.2.1) et jquery-ui-dist (1.12.1) via npm. (ils ne sont pas inclus en tant que balises de script en html)

Dans le script client, j'utilise:

window.$ = require('jquery');// plain jQuery stuff works fine
import 'jquery-ui-dist';     // breaks whole jQuery, with Error (missing module 8)
17
okram

J'ai rencontré des problèmes similaires aujourd'hui avec une application angularjs et un paqueteur de colis. Il semble que la parcelle ne gère pas bien (pour l'instant?) Les variables globales introduites dans les modules externes. Entre autres problèmes.

Une façon de s'y prendre; vous pouvez utiliser des exigences simples au lieu d'importations comme ceci:

var jquery = require("jquery");
window.$ = window.jQuery = jquery; // notice the definition of global variables here
require("jquery-ui-dist/jquery-ui.js");

$(function() {
  $("#datepicker").datepicker();
});

Si vous insistez pour utiliser les importations, vous devez créer un fichier séparé, appelez-le par exemple import-jquery.js avec le contenu suivant:

import jquery from "jquery";

export default (window.$ = window.jQuery = jquery);

et importez-le dans votre fichier principal:

import "./import-jquery";
import "jquery-ui-dist/jquery-ui.js";

$(function() {
  $("#datepicker").datepicker();
});

J'espère que nous aurons un meilleur soutien de cela dans un avenir proche.

30
Marouane Fazouane