نصب

این راهنما تمام مواردی را که برای نصب Aspose.3D FOSS برای TypeScript نیاز دارید پوشش می‌دهد و تأیید می‌کند که قبل از نوشتن اولین اسکریپت پردازش 3D، به‌درستی کار می‌کند.

پیش‌نیازها

اطمینان حاصل کنید که موارد زیر نصب شده‌اند و بر روی PATH قبل از ادامه:

ابزارحداقلنکات
Node.js18 LTS20 or 22 LTS recommended
npm7به‌صورت بسته‌بندی‌شده با Node.js
TypeScript5.0نصب از طریق npm install -D typescript

برای بررسی نسخه‌های خود:

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

مرحله ۱: ایجاد یک پروژه (در صورت نیاز)

اگر Aspose.3D را به یک پروژه TypeScript موجود اضافه می‌کنید، این مرحله را رد کنید و مستقیماً به مرحله ۲ بروید.

برای یک پروژه جدید:

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

مرحله ۲: نصب @aspose/3d

npm install @aspose/3d

این بسته را نصب می‌کند و وابستگی تک‌مرحله‌ای آن را نیز نصب می‌نماید،, xmldom,، به‌صورت خودکار. هیچ بستهٔ سیستمی اضافی، افزونهٔ بومی یا کامپایلری مورد نیاز نیست. نصب زمانی کامل می‌شود که @aspose/3d در محیط شما ظاهر می‌شود package.json در زیر dependencies.

نصب را تأیید کنید:

ls node_modules/@aspose/3d

باید دایرکتوری بسته را ببینید که شامل package.json, فایل‌های تعریف نوع (.d.ts), و جاوااسکریپت کامپایل‌شده.

مرحله ۳: پیکربندی TypeScript

اضافه یا به‌روزرسانی tsconfig.json در ریشهٔ پروژه‌تان با تنظیمات زیر. این تنظیمات برای سازگاری کامل با تعاریف نوع کتابخانه و خروجی CommonJS ضروری هستند:

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

تنظیمات کلیدی و دلیل اهمیت آن‌ها:

تنظیممقداردلیل
targetES2020قابلیت زنجیره‌سازی اختیاری، ترکیب nullish و سایر ویژگی‌های ES2020 که به‌صورت داخلی استفاده می‌شوند را فعال می‌کند
modulecommonjsکتابخانه خروجی CommonJS را ارائه می‌دهد؛ باید مطابقت داشته باشد
moduleResolutionnodeبرای حل صحیح @aspose/3d واردات زیرمسیر
esModuleInteroptrueواردات پیش‌فرض از ماژول‌های CommonJS را بدون دور زدن فضای نام امکان‌پذیر می‌کند
stricttrueکتابخانه با استفاده از noImplicitAny و strictNullChecks; این را فعال نگه دارید

مرحله ۴: تأیید نصب

ایجاد کنید src/verify.ts با تست واردات حداقل زیر:

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

کامپایل و اجرا کنید:

npx tsc
node dist/verify.js

Expected output:

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

نام گره ریشه به‌صورت پیش‌فرض یک رشته خالی است — scene.rootNode بدون آرگومان نام ایجاد می‌شود.

اگر ترجیح می‌دهید مرحلهٔ کامپایل را در حین توسعه رد کنید، مستقیماً با ts-node:

npx ts-node src/verify.ts

مرحله 5: شروع سریع: بارگذاری یک صحنه و چاپ اطلاعات گره

اسکریپت زیر یک فایل 3D را بارگذاری می‌کند و نام و نوع موجودیت هر گره در صحنه را چاپ می‌نماید. این اسکریپت با هر فرمت پشتیبانی‌شده‌ای کار می‌کند: OBJ، glTF، GLB، STL، 3MF، FBX یا 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);

این را به این نام ذخیره کنید src/quickstart.ts و آن را اجرا کنید:

npx ts-node src/quickstart.ts

برای یک فایل OBJ که یک مش به نام Cube,، خروجی به شکل زیر خواهد بود:

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

گره ریشه نام خالی دارد (به‌عنوان پیشوند خالی چاپ می‌شود). گره‌های فرزند نام‌های خود را از فایل بارگذاری‌شده به ارث می‌برند.

یادداشت‌های وابستگی

Aspose.3D FOSS for TypeScript دقیقاً یک وابستگی زمان اجرا دارد:

بستههدفبه‌صورت خودکار نصب می‌شود
xmldomتجزیه XML برای پشتیبانی از فرمت‌های COLLADA (DAE) و 3MFبله، از طریق npm install @aspose/3d

شما نیازی به نصب ندارید xmldom به‌صورت دستی. در … شما ظاهر می‌شود node_modules پس از فرمان نصب اصلی. هیچ افزونه بومی (.node فایل‌ها) و هیچ کتابخانه سیستمی مورد نیاز نیست.

مراحل بعدی

حالا که کتابخانه نصب و تأیید شده است:

 فارسی