Pemasangan

Panduan ini merangkumi segala yang anda perlukan untuk memasang Aspose.3D FOSS untuk TypeScript dan mengesahkan bahawa ia berfungsi dengan betul sebelum anda menulis skrip pemprosesan 3D pertama anda.

Prasyarat

Pastikan yang berikut dipasang dan berada pada PATH anda sebelum meneruskan:

AlatMinimumCatatan
Node.js18 LTS20 atau 22 LTS disyorkan
npm7Disertakan dengan Node.js
TypeScript5.0Pasang melalui npm install -D typescript

Untuk memeriksa versi anda:

node --version   # v18.x.x or later
npm --version    # 7.x or later
npx tsc --version  # Version 5.x.x

Langkah 1: Buat Projek (jika perlu)

Jika anda menambah Aspose.3D ke projek TypeScript yang sedia ada, langkau langkah ini dan terus ke Langkah 2.

Untuk projek baru:

mkdir my-3d-project && cd my-3d-project
npm init -y
npm install -D typescript ts-node @types/node

Langkah 2: Pasang @aspose/3d

npm install @aspose/3d

Ini memasang pakej dan kebergantungan transitif tunggalnya, xmldom, secara automatik. Tiada pakej sistem tambahan, add‑on asli, atau penyusun diperlukan. Pemasangan selesai apabila @aspose/3d muncul dalam package.json anda di bawah dependencies.

Sahkan pemasangan:

ls node_modules/@aspose/3d

Anda sepatutnya melihat direktori pakej dengan package.json, fail definisi jenis (.d.ts), dan JavaScript terkompilasi.

Langkah 3: Konfigurasikan TypeScript

Tambah atau kemas kini tsconfig.json di akar projek anda dengan tetapan berikut. Ini diperlukan untuk keserasian penuh dengan definisi jenis perpustakaan dan output CommonJS:

{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "moduleResolution": "node",
    "esModuleInterop": true,
    "strict": true,
    "outDir": "dist",
    "rootDir": "src"
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules", "dist"]
}

Tetapan utama dan mengapa ia penting:

TetapanNilaiMengapa
targetES2020Membolehkan optional chaining, nullish coalescing, dan ciri‑ciri ES2020 lain yang digunakan secara dalaman
modulecommonjsPustaka menghantar output CommonJS; mesti sepadan
moduleResolutionnodeDiperlukan untuk resolusi yang betul bagi import sub‑laluan @aspose/3d
esModuleInteroptrueMembolehkan import default daripada modul CommonJS tanpa kerja‑kerja ruang nama
stricttruePustaka ditulis dengan noImplicitAny dan strictNullChecks; kekalkan ini

Langkah 4: Sahkan Pemasangan

Buat src/verify.ts dengan ujian import minimum berikut:

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);

Kompil dan jalankan:

npx tsc
node dist/verify.js

Output yang dijangka:

Aspose.3D FOSS for TypeScript is installed correctly.
rootNode name:

Nama nod akar ialah rentetan kosong secara lalai — scene.rootNode dicipta tanpa argumen nama.

Jika anda lebih suka melangkau langkah penyusunan semasa pembangunan, jalankan secara langsung dengan ts-node:

npx ts-node src/verify.ts

Langkah 5: Permulaan Cepat: Muatkan Adegan dan Cetak Maklumat Nod

Skrip berikut memuatkan fail 3D dan mencetak nama serta jenis entiti setiap nod dalam adegan. Ia berfungsi dengan mana-mana format yang disokong: OBJ, glTF, GLB, STL, 3MF, FBX, atau 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);

Simpan ini sebagai src/quickstart.ts dan jalankan:

npx ts-node src/quickstart.ts

Untuk fail OBJ dengan satu mesh bernama Cube, output akan kelihatan seperti:

Scene loaded. Node hierarchy:
 [(no entity)]
  Cube [Mesh]

Node akar mempunyai nama kosong (dicetak sebagai awalan kosong). Node anak mewarisi nama mereka daripada fail yang dimuatkan.

Nota Kebergantungan

Aspose.3D FOSS untuk TypeScript mempunyai tepat satu kebergantungan masa jalan:

PakejTujuanDipasang secara automatik
xmldomPenguraian XML untuk sokongan format COLLADA (DAE) dan 3MFYa, melalui npm install @aspose/3d

Anda tidak perlu memasang xmldom secara manual. Ia akan muncul dalam node_modules anda selepas arahan pemasangan utama. Tiada addon asli (fail .node) dan tiada perpustakaan sistem diperlukan.

Langkah Seterusnya

Kini perpustakaan telah dipasang dan disahkan:

 Bahasa Melayu