1.0.2 • Published 1 year ago

@d8d-webcontainer/server v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@d8d-webcontainer/server

D8D WebContainer 的服务器端实现。

安装

# 全局安装
npm install -g @d8d-webcontainer/server
# 或者作为项目依赖安装
npm install @d8d-webcontainer/server

快速开始

使用 npx 运行

最简单的方式是使用 npx 直接运行:

npx @d8d-webcontainer/server

全局安装后运行

如果已全局安装,可以直接运行:

d8d-webcontainer-server

配置选项

服务器可以通过环境变量进行配置:

  • PORT: 服务器端口号 (默认: 3000)
  • HOST: 服务器主机地址 (默认: localhost)
  • WORKSPACE_ROOT: 工作区根目录 (默认: ./workspaces)

示例:

# 自定义端口和主机
PORT=8080 HOST=0.0.0.0 npx @d8d-webcontainer-server
# 自定义工作区目录
WORKSPACE_ROOT=/path/to/workspaces npx @d8d-webcontainer-server

作为依赖使用

也可以在代码中引入使用:

import { WebContainerServer } from "@d8d-webcontainer/server";
const server = new WebContainerServer({
  port: 3000,
  host: "localhost",
  workspaceRoot: "./workspaces",
});
server.start();

API 参考

WebContainerServer

构造函数

new WebContainerServer(config: WebContainerServerConfig)

配置选项:

  • port: 服务器端口号 (可选,默认: 3000)
  • host: 服务器主机地址 (可选,默认: 'localhost')
  • workspaceRoot: 工作区根目录 (可选,默认: './workspaces')

方法

start()

启动服务器。

返回值: void

事件

服务器会通过 Socket.IO 发送以下事件:

server-ready

当开发服务器就绪时触发,包含以下信息:

interface ServerReadyEvent {
  port: number; // 服务器端口
  url: string; // 可访问的 URL(通过隧道)
  localUrl?: string; // 本地 URL
}

process:output

当进程有输出时触发,包含以下信息:

interface ProcessOutput {
  type: "stdout" | "stderr" | "exit"; // 输出类型
  data: string; // 输出内容
}

文件系统 API

服务器提供以下文件系统操作:

  • fs:list: 列出目录内容
  • fs:read: 读取文件内容
  • fs:write: 写入文件内容
  • fs:delete: 删除文件或目录
  • fs:mkdir: 创建目录
  • fs:watch: 监听文件变化

许可证

MIT

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago