-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proj4 is undefined with ES6 and module import #193
Comments
Bonjour, |
Ok merci, j'attends votre retour. En attendant j'ai créé ma propre interface de gestion des couches. Mais les fonctionnalités de requête de votre extension m'économiseraient pas mal de temps de travail. Je peux faire des tests si besoin. |
cf. isssue : umdjs/umd#124 Test avec l'API des services (https://github.com/IGNF/geoportal-access-lib) Exemple d'appel du bundle UMD des services dans un module ES6 (import) :
Pour fonctionner, on modifie l'entête UMD du bundle des services (compatible AMD, Node, Browser et ES6) :
|
Nos header UMD ne sont pas conformes avec une utilisation dans ES6 module : on veut générer ce type de header (https://github.com/umdjs/umd/blob/master/templates/commonjsStrictGlobal.js) :
|
En attente de la livraison de l'API des services en version 1.1.1. |
Je pense avoir un problème similaire,
Dans un projet CommonJS, où l'extension est importée comme ceci: require('geoportal-extensions-leaflet'); |
Cf. Exemples d'utilisation des extensions dans un projet Front-End : https://github.com/IGNF/geoportal-third-party-integration Ce n'est pas toujours à jour, mais ça pourrait vous aider. |
À première vue aucun des ces exemples ne correspond à mon cas d'utilisation. L'ajout de require('geoportal-extensions-leaflet') ne semble pas marcher. |
Pourtant, l’entête du bundle accepte le commonJS : (function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("leaflet"), require("node-fetch"), require("xmldom"));
else if(typeof define === 'function' && define.amd)
define("Gp", ["leaflet", "require", "require"], factory);
else if(typeof exports === 'object')
exports["Gp"] = factory(require("leaflet"), require("node-fetch"), require("xmldom"));
else
root["Gp"] = factory(root["L"], root[undefined], root[undefined]);
})(this, function(__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__54__, __WEBPACK_EXTERNAL_MODULE__55__) {
...
} Pourquoi ne pas utiliser l'import dans react ? |
Oui c'est accepté, mais ensuite
Nous n'utilisons pas react. |
L.Proj est mis en place par la lib proj4leaflet (v1.0.2) Il me faudrait plus d'informations pour vous aider. |
Ce n'est pas si simple de faire une sandbox JS, JupyterLab a son propre système de build. |
je vais regarder votre intégration. |
Bonjour, |
Je viens d'installer l'env de dev d'ipyleaflet à partir de la PR. J'ai joué qq exemples. L'exemple examples/GeoportalLayers.ipynb ne fonctionne pas, mais je ne sais pas où consulter les sorties d’exécutions des exemples ou debugger en mode pas à pas ce type d'application, car je ne suis pas très familiarisé avec ce type de Framework. Peut être qu'une petite aide serait nécessaire... Sinon, l'idée est de savoir pourquoi |
Apparemment vous aviez une piste, ce n'était pas une problème finalement? |
Any News ? |
(Je ne sais pas si la convention ici est de s'exprimer en Fr ou en En... A défaut je vais opter pour l'en)
Hi,
It seems not possible to load this package with ES6 modules.
In my configuration, the package is installed with npm and my JS is compiled with webpack (using babel plugin).
Importing Gp results in a "proj4 is not defined" error. I tried to install and load proj4, but it results in the same issue.
Is it possible to load the package with ES6 modules ? What should I do to manage the proj4 dependancy ? I have no other solution as I want to integrate this module with react-js and react-leaflet.
Thanks !
A priori tous les messages sont rédigés en Français, je traduis donc ici :
Bonjour,
Il est a priori impossible de charger ce paquet avec les modules (import/export) d'ES6.
J'ai installé le paquet avec npm, mon code est compilé via webpack et utilise le plugin babel.
Quand je fais un "import 'Gp' from 'geoportal-extensions-leaflet'" j'ai une erreur au chargement de la page m'indiquant que "proj4 is undefined"
J'ai essayé de charger proj4 via un 'import', le résultat est le même.
Est-ce que l'un d'entre vous a déjà chargé le paquet avec les modules ES6 ? Que dois-je faire pour ne plus avoir ce problème de dépendance ?
Il me sera difficile de passer par une autre solution, toute mon appli est bâtie en ES6 avec les modules. D'autant plus que je comptais intégrer l'extension avec react-js et react-leaflet.
Si vous avez une idée pour résoudre ce problème... D'avance merci !
The text was updated successfully, but these errors were encountered: