安装
本指南涵盖了在 TypeScript 中安装 Aspose.3D FOSS 所需的全部内容,并在您编写第一个 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:创建项目(如有需要)
如果您正在向现有的 TypeScript 项目中添加 Aspose.3D,请跳过此步骤,直接进入步骤 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 | 启用可选链、空值合并以及其他内部使用的 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 是在没有名称参数的情况下创建的。.
如果您希望在开发期间跳过编译步骤,可直接使用 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对于一个包含名为 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 文件) 且不需要系统库。.
后续步骤
现在库已经安装并验证完毕::