Vite + Vue3 部署 GitHub

因为静态资源是可以部署到 GitHub 上,自己顺便学习部署网站

因为我使用的是 Vite 工具,官方有提供相应 Demo

部署静态站点 | Vite 官方中文文档

新建文件夹 .github 然后再建一个文件夹 workflows

新建文件 main.yml 文件

直接使用官方文档 demo 

# 将静态内容部署到 GitHub Pages 的简易工作流程
name: Deploy static content to Pages

on:
  # 仅在推送到默认分支时运行。
  push:
    branches: ['main']

  # 这个选项可以使你手动在 Action tab 页面触发工作流
  workflow_dispatch:

# 设置 GITHUB_TOKEN 的权限,以允许部署到 GitHub Pages。
permissions:
  contents: read
  pages: write
  id-token: write

# 允许一个并发的部署
concurrency:
  group: 'pages'
  cancel-in-progress: true

jobs:
  # 单次部署的工作描述
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set up Node
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'npm'
      - name: Install dependencies
        run: npm ci
      - name: Build
        run: npm run build
      - name: Setup Pages
        uses: actions/configure-pages@v4
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          # Upload dist folder
          path: './dist'
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

着重注意!base 地址

打开项目 GitHub 地址,点击 Settings

设置 page 

然后提交代码。因为在 yml 文件中是监控 push 事件,所以会自定发布

在 Actions 里可以查看进度,成功以后就会生成一个地址

记录自己的第一个 GitHub 部署项目

项目地址

预览地址

  • 11
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你的问题。首先,你需要安装vitevue3,可以在命令行中使用以下命令进行安装: ``` npm install -g vite npm install vue@next ``` 然后,你需要安装Vtk.js28版本和Itk.js14版本。你可以在以下链接中找到安装指南: - https://kitware.github.io/vtk-js/docs/installation.html - https://insightsoftwareconsortium.github.io/itk-js/docs/installation.html 接下来,你可以创建一个Vue3项目,并将Vtk.js和Itk.js添加到项目中。在`main.js`文件中,你可以添加以下代码: ```javascript import vtkFullScreenRenderWindow from 'vtk.js/Sources/Rendering/Misc/FullScreenRenderWindow'; import vtkSTLReader from 'vtk.js/Sources/IO/Geometry/STLReader'; import vtkActor from 'vtk.js/Sources/Rendering/Core/Actor'; import vtkMapper from 'vtk.js/Sources/Rendering/Core/Mapper'; import vtkRenderer from 'vtk.js/Sources/Rendering/Core/Renderer'; import vtkInteractorStyleTrackballCamera from 'vtk.js/Sources/Interaction/Style/InteractorStyleTrackballCamera'; import { readImageArrayBuffer } from 'itk'; // 加载STL模型 function loadSTLModel(renderer, filePath) { const reader = vtkSTLReader.newInstance(); reader.setUrl(filePath).then(() => { const mapper = vtkMapper.newInstance(); const actor = vtkActor.newInstance(); mapper.setInputData(reader.getOutputData()); actor.setMapper(mapper); renderer.addActor(actor); renderer.resetCamera(); }); } // 加载ITK图像 async function loadITKImage(renderer, filePath) { const arrayBuffer = await readImageArrayBuffer(filePath); // TODO: 在这里添加ITK图像的处理代码 } // 创建四个渲染器 function createRenderers(container) { const renderers = []; for (let i = 0; i < 4; i++) { const renderer = vtkRenderer.newInstance(); renderer.setViewport([(i % 2) * 0.5, Math.floor(i / 2) * 0.5, (i % 2) * 0.5 + 0.5, Math.floor(i / 2) * 0.5 + 0.5]); renderers.push(renderer); } const fullScreenRenderWindow = vtkFullScreenRenderWindow.newInstance({ rootContainer: container, containerStyle: { height: '100%', display: 'flex', }, }); renderers.forEach((renderer) => { fullScreenRenderWindow.addRenderer(renderer); }); return renderers; } // 初始化交互器 function initInteractor(renderer) { const interactor = renderer.getRenderWindow().getInteractor(); const style = vtkInteractorStyleTrackballCamera.newInstance(); interactor.setInteractorStyle(style); } // 在四个渲染器中分别加载STL模型和ITK图像 function loadModels(container, stlFilePath, itkFilePath) { const renderers = createRenderers(container); renderers.forEach((renderer) => { initInteractor(renderer); loadSTLModel(renderer, stlFilePath); loadITKImage(renderer, itkFilePath); }); } // 加载模型 loadModels(document.getElementById('container'), 'path/to/stl/file.stl', 'path/to/itk/file.mha'); ``` 在上述代码中,我们首先导入了所需的Vtk.js和Itk.js模块。然后,我们定义了三个函数:`loadSTLModel`用于加载STL模型,`loadITKImage`用于加载ITK图像,`createRenderers`用于创建四个渲染器。接下来,我们定义了`initInteractor`函数来初始化交互器。最后,我们定义了`loadModels`函数来在四个渲染器中分别加载STL模型和ITK图像。 你可以将上述代码复制到你的项目中,并根据实际情况修改文件路径和其他参数。希望这可以帮助你实现加载STL模型并进行四视图分割功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值