@devframes/plugin-code-服务器
实验 这个devframe是实验性的,可能会在不发生重大版本突起的情况下改变,直到 它稳定.
运行 VS 在浏览器中代码为devframe面板. 编程检测到一个本地
编辑 二进制,按需发布,并将编辑器嵌入到
自动认证 <iframe>。发射器是一个 阴道 SPA 建立在共享的基础上
@antfu/design 系统.
如何运作
- 检测:在启动时,它用
--version。 。 。 . 当找不到时,发射装置会制作安装指令,而不是 发射按钮. - 发射: 启动器的按钮启动编辑器为管理的孩子 进程绑定到自由端口,范围被限制到工作空间。 探测到准备状态 在iframe装入之前.
- 自动自动:每一次发射和手产生新鲜的认证材料
给已授权的devframe客户端, 所以编辑器已经打开
签入.
code-server使用会话 cookie(HASHED_PASSWORD(三);code serve-web使用 URL 上的连接符 (?tkn=) (中文(简体) ).
后端模式( M)
mode: 'local' (默认)将服务器嵌入此机; backend 选择它,
或让它未设置为自动检测( 偏好) code-server,则 code serve-web) (中文(简体) ).
backend | 二进制 | 认证 |
|---|---|---|
'code-server' | 编码器 code-server | 密码+会话 cookie |
'ms-code-serve-web' | 微软 code serve-web | 连接令牌( e)?tkn=(中文(简体) ) |
mode: 'tunnel' 运行微软 code tunnel 并嵌入主机
vscode.dev 编辑。 第一次发射会显示一个设备记录提示
发射器; vscode.dev 处理认证.
使用量
独立的CLI
pnpx @devframes/plugin-code-server # dev server + launcher
程序化
import { createCodeServerDevframe } from '@devframes/plugin-code-server'
export default createCodeServerDevframe({
// backend: 'code-server' | 'ms-code-serve-web' (default: auto)
// mode: 'local' | 'tunnel'
// serverPort: 8080 (default: free port near 8080)
// startOnBoot: true (default: on demand)
// reuseExistingServer: true (adopt a server on the port)
// tunnel: { name: 'my-box' }
})
虚拟主机
import { codeServerVite } from '@devframes/plugin-code-server/vite'
export default {
plugins: [
codeServerVite()
],
}
难民保护委员会
| 函数 | 类型 | 目的 |
|---|---|---|
devframes:plugin:code-server:detect | 查询 | 重新检测; 返回 { installed, version, bin, backend, mode }。 。 。 . |
devframes:plugin:code-server:status | 查询 | 当前状态 + 运行时连接描述符 . |
devframes:plugin:code-server:start | 动作 | 发射等待准备. |
devframes:plugin:code-server:stop | 动作 | 停止这个过程. |
状态(减去连接描述符)被反射到
devframes:plugin:code-server:state 反应式 UIs 的共享状态 .
用户
发射装置为Vue SPA(src/spa) (中文(简体) ). LauncherView.vue 纯洁,
状态驱动的视图与RPC脱钩,因此每个阶段都处于孤立状态,并且已经
故事书故事; App.vue 连接到它上
编辑器装入一个全天候、自动认证的iframe(EditorFrame.vue) (中文(简体) ).
pnpm storybook # dev
pnpm build-storybook # static build
故事:连接、未安装、发射、发射(服务器网络)、发射 -- -- 传感器、,
开始、 隧道登录和运行 EditorFrame (马克编辑).