Files
bim_engine/demo/部署指南.md
yuding 8d027419e4 docs: 文档中文化重命名并添加规范文档
- 将所有英文文档重命名为中文格式
- 新增 AI代码规范模板.md(通用开发规范)
- 新增 国际化实现指南.md(i18n 规范)
- 重复文档移至 .recycle 目录
2026-01-21 10:59:23 +08:00

2.3 KiB

Demo 部署指南

问题说明

部署后出现 404: Not Found 错误,找不到 /static/js/draco/draco_wasm_wrapper.js 等文件。

这是因为 3D 模型使用了 Draco 压缩,需要 Draco 解码器文件。

解决方案

需要部署的文件结构

demo/
├── index.html
├── viewer.html
├── lib/
│   ├── bim-engine-sdk.umd.js
│   └── bim-engine-sdk.umd.js.map
├── static/
│   └── js/
│       └── draco/
│           ├── draco_decoder.js
│           ├── draco_decoder.wasm
│           ├── draco_encoder.js
│           ├── draco_wasm_wrapper.js
│           └── DRACOLoader.js
└── model/
    └── test2/
        └── (模型文件)

自动复制文件

在项目根目录执行:

# 方法1: 复制所有文件(推荐)
npm run copy:demo-all

# 方法2: 分步复制
npm run copy:demo        # 复制 SDK 文件
npm run copy:demo-draco  # 复制 Draco 文件

在 demo 目录执行:

npm run copy-all    # 复制 SDK 和 Draco 文件

手动部署步骤

如果自动脚本不可用,手动复制以下文件到服务器:

  1. 必需文件:

    • index.htmlviewer.html
    • lib/bim-engine-sdk.umd.js
    • static/js/draco/ 目录下的所有文件
  2. 可选文件:

    • lib/bim-engine-sdk.umd.js.map (用于调试)
    • model/ 目录 (如果加载本地模型)

Nginx 配置示例

server {
    listen 80;
    server_name your-domain.com;

    root /var/www/demo;
    index index.html viewer.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

    # 确保 draco 文件可访问
    location /static/ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }
}

验证部署

部署后访问以下 URL 确认文件存在:

  • http://your-domain.com/static/js/draco/draco_wasm_wrapper.js
  • http://your-domain.com/static/js/draco/draco_decoder.wasm

如果返回 404,说明文件未正确部署。

注意事项

  1. 路径硬编码: Draco 路径在 SDK 中硬编码为 /static/js/draco/,请勿修改目录结构
  2. WASM 文件: 确保 .wasm 文件的 MIME 类型正确配置为 application/wasm
  3. 跨域问题: 如果 draco 文件在不同域名,需要配置 CORS