1.0.9 • Published 1 year ago
@d8d-webcontainer/server v1.0.9
@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