提供静态文件的文档
Documentation on Serving static files
我对提供静态文件的文档有疑问...它声称
Static files are automatically served from the public directories of
the application, which can be customized with "paths" in
Mojolicious::Static, or one of the DATA sections from "classes" in
Mojolicious::Static. And if that's not enough you can also serve them
manually with "reply->static" in Mojolicious::Plugin::DefaultHelpers
and "reply->file" in Mojolicious::Plugin::DefaultHelpers.
从 public 目录自动提供服务是什么意思,它与手动提供服务有何不同?
我想我的问题是 -> 您如何在代码中访问或使用自动提供的页面?
the tutorial 中也简要介绍了这一点。基本上,在通过您使用 get
等添加的动态路由之前,它会检查您的 public 目录或数据部分中是否提供了请求的文件路径。默认情况下,分配的唯一 public 目录是应用程序根目录中的 public/
。默认情况下,检查 __DATA__
部分的唯一 class 是 main
(因为 __DATA__
部分模板最常用于单个文件脚本中的 Mojolicious::Lite 应用程序).
所以作为一个真实的例子,如果你得到一个请求/foo.txt
,它会首先检查是否有一个public/foo.txt
文件或者foo.txt
在__DATA__
] main
包的部分。如果它找到一个,它将按原样提供,并对缓存静态文件的浏览器进行一些优化。如果没有,它将尝试将其与您声明的路由相匹配。
应用程序 Mojolicious::Static 对象中的 paths
和 classes
属性(可作为应用程序上的 static
属性访问)可以在启动期间更改或附加和其他地方一起看。
push @{$app->static->paths}, $app->home->child('other');
$app->static->classes(['Some::Class']);
我对提供静态文件的文档有疑问...它声称
Static files are automatically served from the public directories of the application, which can be customized with "paths" in Mojolicious::Static, or one of the DATA sections from "classes" in Mojolicious::Static. And if that's not enough you can also serve them manually with "reply->static" in Mojolicious::Plugin::DefaultHelpers and "reply->file" in Mojolicious::Plugin::DefaultHelpers.
从 public 目录自动提供服务是什么意思,它与手动提供服务有何不同?
我想我的问题是 -> 您如何在代码中访问或使用自动提供的页面?
the tutorial 中也简要介绍了这一点。基本上,在通过您使用 get
等添加的动态路由之前,它会检查您的 public 目录或数据部分中是否提供了请求的文件路径。默认情况下,分配的唯一 public 目录是应用程序根目录中的 public/
。默认情况下,检查 __DATA__
部分的唯一 class 是 main
(因为 __DATA__
部分模板最常用于单个文件脚本中的 Mojolicious::Lite 应用程序).
所以作为一个真实的例子,如果你得到一个请求/foo.txt
,它会首先检查是否有一个public/foo.txt
文件或者foo.txt
在__DATA__
] main
包的部分。如果它找到一个,它将按原样提供,并对缓存静态文件的浏览器进行一些优化。如果没有,它将尝试将其与您声明的路由相匹配。
应用程序 Mojolicious::Static 对象中的 paths
和 classes
属性(可作为应用程序上的 static
属性访问)可以在启动期间更改或附加和其他地方一起看。
push @{$app->static->paths}, $app->home->child('other');
$app->static->classes(['Some::Class']);