使用 comanche 提供静态文件

发布于 2024-12-04 13:31:47 字数 833 浏览 1 评论 0 原文

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

createService
| contentPath dirPath  svc ma |

    contentPath := 'htdocs'.
    dirPath := FileDirectory default fullNameFor: contentPath.
    svc := (HttpService on: self port)
        name: 'seaside-' , self port greaseString.
    ma := ModuleAssembly core.
    ma alias: '/static' to: [
        ma serverRoot: dirPath.
        ma documentRoot: dirPath.
        ma directoryIndex: 'index.html index.htm'.
        ma serveFiles ].
    ma addPlug: self.
    svc plug: ma rootModule.
    ^ svc

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

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

I used to use this code to serve static files from Comanche web server from within Pharo 1.2 image:

createService
| contentPath dirPath  svc ma |

    contentPath := 'htdocs'.
    dirPath := FileDirectory default fullNameFor: contentPath.
    svc := (HttpService on: self port)
        name: 'seaside-' , self port greaseString.
    ma := ModuleAssembly core.
    ma alias: '/static' to: [
        ma serverRoot: dirPath.
        ma documentRoot: dirPath.
        ma directoryIndex: 'index.html index.htm'.
        ma serveFiles ].
    ma addPlug: self.
    svc plug: ma rootModule.
    ^ svc

The code if from http://samadhiweb.com/blog/2011.07.10.seaside.comanche.staticfiles.html

Unfortunately, this doesn't work any more on Pharo 1.3. ModuleAssembly class doesn't exist any more. So how do I setup comanche to serve static files?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千寻… 2024-12-11 13:31:47

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

Make sure that you have the full Komanche loaded. The prepared Seaside images use KomHttpServerLight which just contains the bare minimum web-server functionality Seaside requires. To get the full thing you need to load DynamicBindings, KomServices, KomHttpServer, and maybe other dependencies.

煮茶煮酒煮时光 2024-12-11 13:31:47

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

不过我们仅将其用于开发,因此我不知道它在部署中的性能。

If you are running Seaside in that image, another option is to load the Seaside-Filesystem package from the Seaside30LGPL repository. You can then setup an 'external directory' handler that servers files from the disk.

We use this only for development though, so I do not know about its performance in deployment.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文