Próbuję użyć przykładu 3js wewnątrz mojej aplikacji kątowej (cli) 2.Angular2 przy użyciu trojaka Orbitcontrols
więc mam zainstalowane threejs:
npm install three --save
następnie dodawane typowania:
npm install @types/three --save-dev
Wreszcie mój komponent wygląda następująco:
import { Component, OnInit } from '@angular/core';
import * as THREE from 'three';
@Component({
selector: 'app-testthreejs',
templateUrl: './testthreejs.component.html',
styleUrls: ['./testthreejs.component.css']
})
export class TestthreejsComponent implements OnInit {
//
}
Z tego mogę korzystać z niektórych funkcji z TRZY bez problemu.
Chciałbym skorzystać z niektórych przykładów dostępnych w module node_modules/three/examples/js /, a dokładniej OrbitControl. Do typowania dać mi autouzupełnianie w Visual kodu Studio:
ale jak tylko próbowałem go używać Mam następujący błąd:
TypeError: WEBPACK_IMPORTED_MODULE_1_three.OrbitControls is not a constructor
Czy istnieje jakiś sposób, aby udostępnić OrbitControls (i inne przykłady) poprzez jakiś import? Czy powinienem po prostu dołączyć control.js do mojego html?
Jaki jest najlepszy sposób, aby sobie z tym poradzić?
IMO, Grunt (lub cokolwiek) twój własny plik three.min.js, który zawiera dodatki, które będziesz potrzebował, takie jak formanty, ładowanie pliku obj lub cokolwiek, zamiast instalowania NPM. Możesz dołączyć dodatki/pomocników w znacznikach skryptu, ale to koszmar utrzymania. Wykonaj to, co ma sens dla twojego projektu, nie ma dokumentacji ani konkretnego sposobu dodawania dodatków i pomocników do pliku three.js. – Radio