@d8d-webcontainer/server
v1.0.12
Published
Server implementation for D8D WebContainer
Downloads
34
Readme
@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