1

我曾经使用此代码从 Pharo 1.2 图像中提供来自 Comanche Web 服务器的静态文件:

创建服务
| contentPath dirPath svc ma |

    contentPath := 'htdocs'。
    dirPath := FileDirectory 默认 fullNameFor: contentPath。
    svc := (HttpService on: self port)
        名称:'seaside-',自端口油脂串。
    ma := ModuleAssembly 核心。
    ma 别名:'/static' 到:[
        ma serverRoot: dirPath。
        ma documentRoot: dirPath.
        ma directoryIndex: 'index.html index.htm'。
        ma serveFiles ]。
    ma addPlug:自我。
    svc 插件:ma rootModule。
    ^ 服务端

如果来自http://samadhiweb.com/blog/2011.07.10.seaside.comanche.staticfiles.html的代码

不幸的是,这在 Pharo 1.3 上不再起作用。ModuleAssembly 类不再存在。那么如何设置 comanche 来提供静态文件呢?

4

2 回答 2

2

确保您已加载完整的 Komanche。准备好的 Seaside 图像KomHttpServerLight只包含 Seaside 所需的最低限度的 Web 服务器功能。要获得完整的内容,您需要加载DynamicBindingsKomServicesKomHttpServer,也许还有其他依赖项。

于 2011-09-15T20:19:46.893 回答
0

如果您在该映像中运行 Seaside,另一个选项是从Seaside30LGPL存储库加载 Seaside-Filesystem 包。然后,您可以设置一个“外部目录”处理程序,从磁盘提供文件服务。

我们只将它用于开发,所以我不知道它在部署中的性能。

于 2011-09-16T07:24:07.533 回答