Встановлення
У цьому посібнику розглянуто все, що потрібно для встановлення Aspose.3D FOSS для TypeScript та підтвердження його коректної роботи перед тим, як ви напишете свій перший скрипт обробки 3D.
Вимоги
Переконайтеся, що наступне встановлено та знаходиться у вашому PATH перед продовженням:
| Інструмент | Мінімум | Примітки |
|---|---|---|
| Node.js | 18 LTS | 20 or 22 LTS recommended |
| npm | 7 | Поставляється разом з Node.js |
| TypeScript | 5.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Крок 1: Створіть проект (за потреби)
Якщо ви додаєте Aspose.3D до існуючого TypeScript‑проекту, пропустіть цей крок і переходьте безпосередньо до Кроку 2.
Для нового проекту:
mkdir my-3d-project && cd my-3d-project
npm init -y
npm install -D typescript ts-node @types/nodeКрок 2: Встановіть @aspose/3d
npm install @aspose/3dЦе встановлює пакет та його єдину транзитивну залежність, xmldom, автоматично. Не потрібні додаткові системні пакети, нативні аддони або компілятори. Встановлення завершиться, коли @aspose/3d з’явиться у вашому package.json під dependencies.
Перевірте встановлення:
ls node_modules/@aspose/3dВи повинні бачити каталог пакету з package.json, файли типових визначень (.d.ts), і скомпільованим JavaScript.
Крок 3: Налаштуйте 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"]
}Ключові налаштування та чому вони важливі:
| Налаштування | Значення | Чому |
|---|---|---|
target | ES2020 | Дозволяє optional chaining, nullish coalescing та інші функції ES2020, що використовуються всередині |
module | commonjs | Бібліотека постачається з CommonJS‑виводом; має відповідати |
moduleResolution | node | Потрібно для правильного розв’язання @aspose/3d імпортів підшляхів |
esModuleInterop | true | Дозволяє імпорт за замовчуванням з CommonJS‑модулів без обхідних рішень простору імен |
strict | true | Бібліотека створена за допомогою noImplicitAny і strictNullChecks; залиште це увімкненим |
Крок 4: Перевірте встановлення
Створити 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Очікуваний вивід:
Aspose.3D FOSS for TypeScript is installed correctly.
rootNode name:Назва кореневого вузла за замовчуванням — порожній рядок scene.rootNode створюється без аргументу name.
Якщо ви бажаєте пропустити крок компіляції під час розробки, запустіть безпосередньо за допомогою 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 має саме одну runtime‑залежність:
| Пакет | Призначення | Встановлюється автоматично |
|---|---|---|
xmldom | Парсинг XML для підтримки форматів COLLADA (DAE) та 3MF | Так, через npm install @aspose/3d |
Вам не потрібно встановлювати xmldom вручну. Він з’явиться у вашому node_modules після основної команди встановлення. Немає нативних аддонів (.node файли) і не потрібні системні бібліотеки.
Наступні кроки
Тепер, коли бібліотеку встановлено та перевірено:
- Прочитайте Посібник розробника для повного огляду всіх функціональних областей.
- Дивіться Функції та можливості для деталей підтримки форматів, шаблонів графа сцени, API матеріалів та анімації, а також повних прикладів коду TypeScript.