2017-06-27 3 views
1

Je souhaite utiliser les méthodes booleanCrosses et booleanContains de la bibliothèque Turf.js dans mon application côté client, mais j'échoue. J'ai d'abord essayé de télécharger juste turf.min.js, mais quand dans mon code que j'appelle turf.booleanContains(...) je reçoisImpossible d'installer et d'utiliser Turf.js

TypeError: turf.booleanContains is not a function

J'ai aussi essayé de télécharger toutes les archives du gazon et installer les paquets nécessaires avec NPM, mais on m'a donné un enfer de messages d'erreur. Alors, quelle est la bonne façon d'installer turf.js et certains paquets particuliers?

+0

Je suis également novice dans la terminologie de 'npm' et je ne comprends pas très bien ce qu'ils entendent par cette commande:' npm install @ turf/helpers @ turf/buffer'. Devrais-je remplacer '@ turf' par un chemin complet vers l'archive? – Jacobian

+0

Lorsque, par exemple, je lance cette commande 'npm install @ turf/helpers', cela fonctionne. Cependant, quand je lance 'npm install @ turf/boolean-crosses', j'obtiens des messages d'erreur. – Jacobian

+0

Voulez-vous l'utiliser côté client (dans le navigateur) ou côté serveur (dans nodejs)? –

Répondre

1

J'ai eu ce problème et j'ai corrigé cela en utilisant du fil. J'ai eu un index.tf de gazon vicié dans mes node_modules (pas clair pourquoi). Je voudrais me rappeler ce que je faisais précisément, mais modifier package.json (je les ai mis hors service pour irriter le fil - bien que cela pourrait ne pas avoir fait quoi que ce soit)

"@turf/boolean-contains": "^4.6.1", 
"@turf/turf": "^4.6.1", 

Ensuite, exécutez yarn (fil est un plus maigre, substitut plus méchant pour npm installer/mise à jour - installer via npm i -g fil et profiter)

Maintenant index.d.ts montre des modules supplémentaires (y compris booleanContains qui est mon problème spécifique).

module d'importation comme ceci:

import * as turf from '@turf/turf'; 

Et utiliser comme indiqué.