Mojolicious初学(十)
一、静态文件static files
和template类似,我们需要引入css、js以及图片等前端静态文件。这是Mojolicious必不可少的功能:
use Mojolicious::Lite; app->start; __DATA__ #无需其他额外的设置,我们直接在DATA块内编写想要的静态文件即可 @@ something.js alert('hello!'); @@ test.txt (base64) dGVzdCAxMjMKbGFsYWxh
当然了,对于我们来说DATA中编写静态文件并不常用。常用的是引入向jquery.js等js第三方框架,以及一些图片等。
Mojolicious为我们提供了一个文件夹——public,文件夹与我们的mojolicious脚本位于同一目录下。
当浏览器发送请求需要静态文件时,比如url “www.lwc365.top/jquery.js”,会自动的前往public路径下查找jquery.js文件。
二、扩展templates
什么是扩展templates?说白了,当我们编写复杂的html时,我们不会选择在mojolicious脚本DATA区域写template模板,这样做会使得我们的单文件脚本变得复杂、不可读。
类似于public,Mojolicious提供了templates文件夹,此文件夹同样与脚本在同一目录下。这样我们可以单独放置templates文件夹:
$ mkdir -p templates/foo #创建templates文件夹,之后在创建一个foo子文件夹 $ echo 'Hello World!' > templates/foo/bar.html.ep #在foo子文件夹下写一个模板
之后,我们可以像DATA区域一样的调用:
use Mojolicious::Lite -signatures; # Render template "templates/foo/bar.html.ep" any '/external' => sub ($c) { $c->render(template => 'foo/bar'); #template键的值,要体现出模板在子目录下。 }; app->start;