Instalcja
Ten przewodnik obejmuje wszystko, co potrzebne, aby zainstalować Aspose.3D FOSS dla TypeScript i potwierdzić, że działa poprawnie, zanim napiszesz swój pierwszy skrypt przetwarzania 3D.
Wymagania wstępne
Upewnij się, że następujące są zainstalowane i znajdują się w twoim PATH przed kontynuacją:
| Narzędzie | Minimum | Uwagi |
|---|---|---|
| Node.js | 18 LTS | 20 or 22 LTS recommended |
| npm | 7 | Dołączony do Node.js |
| TypeScript | 5.0 | Instaluj za pomocą npm install -D typescript |
Aby sprawdzić wersje:
node --version # v18.x.x or later
npm --version # 7.x or later
npx tsc --version # Version 5.x.xKrok 1: Utwórz projekt (jeśli potrzebny)
Jeśli dodajesz Aspose.3D do istniejącego projektu TypeScript, pomiń ten krok i przejdź od razu do Kroku 2.
Dla nowego projektu:
mkdir my-3d-project && cd my-3d-project
npm init -y
npm install -D typescript ts-node @types/nodeKrok 2: Zainstaluj @aspose/3d
asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.Instaluje to pakiet oraz jego jedyną zależność przechodnią, xmldom, automatycznie. Nie są wymagane dodatkowe pakiety systemowe, natywne dodatki ani kompilatory. Instalacja jest zakończona, gdy @aspose/3d pojawia się w twoim package.json w dependencies.
Zweryfikuj instalację:
ls node_modules/@aspose/3dPowinieneś zobaczyć katalog pakietu z package.json, pliki definicji typów (.d.ts), oraz skompilowanym JavaScriptem.
Krok 3: Skonfiguruj TypeScript
Dodaj lub zaktualizuj tsconfig.json w katalogu głównym projektu z następującymi ustawieniami. Są one wymagane dla pełnej kompatybilności z definicjami typów biblioteki i wyjściem CommonJS:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"moduleResolution": "node",
"esModuleInterop": true,
"strict": true,
"outDir": "dist",
"rootDir": "src"
},
"include": ["src/**/*.ts"],
"exclude": ["node_modules", "dist"]
}Kluczowe ustawienia i ich znaczenie:
| Ustawienie | Wartość | Dlaczego |
|---|---|---|
target | ES2020 | Włącza opcjonalne łańcuchowanie, operator nullish coalescing oraz inne funkcje ES2020 używane wewnętrznie |
module | commonjs | Biblioteka dostarcza wyjście CommonJS; musi się zgadzać |
moduleResolution | node | Wymagane do prawidłowego rozwiązywania the @aspose/3d importy podścieżek |
esModuleInterop | true | Umożliwia domyślne importy z modułów CommonJS bez obejść przestrzeni nazw |
strict | true | Biblioteka została napisana przy użyciu noImplicitAny oraz strictNullChecks; pozostaw to włączone |
Krok 4: Zweryfikuj instalację
Utwórz src/verify.ts z następującym minimalnym testem importu:
import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('Aspose.3D FOSS for TypeScript is installed correctly.');
console.log('rootNode name:', scene.rootNode.name);Skompiluj i uruchom:
npx tsc
node dist/verify.jsOczekiwany wynik:
Aspose.3D FOSS for TypeScript is installed correctly.
rootNode name:Nazwa węzła głównego jest domyślnie pustym ciągiem znaków — scene.rootNode jest tworzony bez argumentu nazwy.
Jeśli wolisz pominąć krok kompilacji podczas rozwoju, uruchom bezpośrednio przy użyciu ts-node:
npx ts-node src/verify.tsKrok 5: Szybki start: Załaduj scenę i wypisz informacje o węzłach
Poniższy skrypt ładuje plik 3D i wypisuje nazwę oraz typ encji każdego węzła w scenie. Działa z każdym obsługiwanym formatem: OBJ, glTF, GLB, STL, 3MF, FBX lub COLLADA.
import { Scene, Node } from '@aspose/3d';
function printNode(node: Node, depth: number = 0): void {
const indent = ' '.repeat(depth);
const entityType = node.entity ? node.entity.constructor.name : '(no entity)';
console.log(`${indent}${node.name} [${entityType}]`);
for (const child of node.childNodes) {
printNode(child, depth + 1);
}
}
const scene = new Scene();
// Replace 'model.obj' with any supported 3D file path.
// Format is detected automatically from binary magic numbers.
scene.open('model.obj');
console.log('Scene loaded. Node hierarchy:');
printNode(scene.rootNode);Zapisz to jako src/quickstart.ts i uruchom go:
npx ts-node src/quickstart.tsDla pliku OBJ z jedną siatką o nazwie Cube, wynik będzie wyglądał następująco:
Scene loaded. Node hierarchy:
[(no entity)]
Cube [Mesh]Węzeł główny ma pustą nazwę (wyświetlaną jako pusty prefiks). Węzły potomne dziedziczą swoje nazwy z załadowanego pliku.
Uwagi dotyczące zależności
Aspose.3D FOSS for TypeScript ma dokładnie jedną zależność w czasie wykonywania:
| Pakiet | Cel | Instalowany automatycznie |
|---|---|---|
xmldom | Parsowanie XML dla obsługi formatu COLLADA (DAE) i 3MF | Tak, przez npm install @aspose/3d |
Nie musisz instalować xmldom ręcznie. Pojawi się w twoim node_modules po głównym poleceniu instalacji. Nie ma natywnych dodatków (.node pliki) i nie wymaga bibliotek systemowych.
Kolejne kroki
Teraz, gdy biblioteka jest zainstalowana i zweryfikowana:
- Przeczytaj Przewodnik dewelopera aby uzyskać pełny przewodnik po wszystkich obszarach funkcji.
- Zobacz Funkcje i możliwości w celu uzyskania szczegółów dotyczących obsługi formatów, wzorców grafu sceny, interfejsów API materiałów i animacji oraz pełnych przykładów kodu TypeScript.