Wie lautet die URL für three.js, um sie online einzubinden?
Lesezeit: 7 Minuten
Gute Bytes
Ich versuche, eine Javascript-Anwendung in Google App Engine mit three.js zu erstellen, aber ich erhalte nicht die URL, um sie online in mein Dokument aufzunehmen. Ich möchte nicht das gesamte Paket three.js hochladen, das sehr groß ist. Ich wollte wissen, ob es eine Möglichkeit gibt, eine URL zum Einbinden der Bibliothek wie diese für jQuery zu erhalten: http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js
Wenn diese Frage bereits gestellt wurde, geben Sie bitte den Link an.
Wenn Sie sich Sorgen über die Größe der verknüpften Datei machen, lesen Sie: stackoverflow.com/a/57018763/369005
Funktioniert nicht mehr, verwenden Sie die Antwort unten.
– John Doe
3. August 2021 um 11:28 Uhr
Hat bei mir noch funktioniert. Aber wie auch immer, ich habe die Antwort auf die neueste Version aktualisiert, die heute bei Cloudflare verfügbar ist (beachten Sie, dass es nicht die neueste Version ist, die veröffentlicht wurde).
– Michael Litwin
3. August 2021 um 15:38 Uhr
oh, vielleicht bin ich das auch 🤷
– John Doe
3. August 2021 um 18:20 Uhr
WestLangley
Die aktuellste Antwort findet sich in der three.js Installation Dokumente.
TIPP: Wenn Sie debuggen, verwenden Sie eine nicht-minifizierte Version von three.js – das heißt, nicht three.min.js.
three.js r.147
Mir ist aufgefallen, dass Google drei.js hostet, siehe … developer.google.com/speed/libraries/#threejs Hostet es jedoch auch die Beispiele und andere wichtige Dienstprogramme, die (glaube ich) nicht mit dem primären “three.min.js” gehostet werden? Wenn man auf eine vorgehostete Three.js verlinken möchte, gilt das oben Gesagte immer noch?
– Kolban
27. Juni 2016 um 14:47 Uhr
Verwenden Sie auf keinen Fall threejs.org, das war nicht seine Absicht. Das funktioniert: cdnjs.com/libraries/three.js was den Vorteil hat, versioniert zu sein.
– Rückschritte
30. März 2017 um 4:22 Uhr
Der cdnjs.com-Link funktioniert nicht. Die neuesten Versionen zu diesem Zeitpunkt: cloudfare.com = R83; googleapis.com = R84; threejs.org = R95
– dromley
8. August 2018 um 20:36 Uhr
Die einzige Antwort, die für mich funktioniert hat, musste nur das http durch https ersetzen, danke!
– John Doe
15. Juli 2021 um 11:36 Uhr
Mann
Ab 2019-08 gibt es eine ES6-Modulversion von three.js. Wenn Sie es verwenden möchten, können Sie Cloudflare nicht wirklich verwenden (zumindest ab 2019-09).
Update: Ab dem 23.04.2021 (r128) hat three.js die Art und Weise geändert, wie das npm-Modul von threejs erstellt wird, sodass es nicht mehr mit vielen CDNs kompatibel ist. Sie empfehlen verwenden www.skypack.dev
Ich antworte zwar sehr spät, aber ich wollte hier ein paar Dinge für andere klarstellen.
Antwortkriterien
Während die offizielle Dokumentation die Verwendung des Moduls empfiehlt, ist es manchmal nicht möglich, den modulbasierten Code oder Build-Tools wie Webpack zu verwenden.
Diese Antwort richtet sich an Entwickler, die die neuesten Bibliotheken von Three.js in Web-Apps verwenden möchten, die keine auf ES6-Modulen basierende Architektur oder ein Build-Tool verwenden.
Wenn Sie also Three.js auf Ihrem verwenden möchten npm oder Webpaket basierte Webanwendung, befolgen Sie nur die empfohlenen offiziellen Dokumentationen.
Problem 1 (für nicht modulbasierte Web-Apps)
Die Three.js-Bibliothek wurde bereits auf die modulbasierte Architektur von ES6 verschoben, so dass sie offiziell ist Installationsdokumentation zeigt, wie man die modulbasierte Architektur verwendet
<script type="module">
// Find the latest version by visiting https://cdn.skypack.dev/three.
import * as THREE from 'https://cdn.skypack.dev/three@<version>';
const scene = new THREE.Scene();
</script>
Das Problem mit diesen CDN-URLs ist, dass, wenn Sie ersetzen r123 mit dem neusten (z.B. r138), funktionieren die URLs nicht. Sie können also nicht die neuesten Versionen verwenden, da die three.js-Bibliotheken auf diesen CDNs nicht aktualisiert werden.
Selbst wenn Sie die neueste Bibliothek von three.js erhalten, werden Sie Schwierigkeiten haben, die Beispiele wie OrbitControls.
Die obige URL verweist immer auf die neueste Version von three.js, die möglicherweise nicht abwärtskompatibel mit Ihrem Code ist. Verwenden Sie also besser die angehefteten Versionen.
Stellen Sie für andere beliebte Teile der Bibliothek – wie Steuerelemente, Ladeprogramme und Nachbearbeitungseffekte – sicher, dass Sie verwenden examples/js nicht der examples/jsm als jsm steht für JS-Module, daher funktioniert es nicht mit Nicht-Modul-Codebasis (ich habe 2-3 Stunden gebraucht, um diesen dummen Fehler zu erkennen).
Denken Sie daran, dass Sie das Verzeichnis jederzeit durchsuchen können, indem Sie a anhängen / Am Ende-
Wenn Sie sich Sorgen über die Lib-Größe machen, können Sie von PageCDNs verlinken Three.js-CDN das ist um 17 KB kleiner im Vergleich zu anderen CDNs Wegen besserer Kompression:
Wenn Sie sich Sorgen über die Größe der verknüpften Datei machen, lesen Sie: stackoverflow.com/a/57018763/369005
– Hamid Sarfraz
13. Juli 2019 um 11:34 Uhr