使用 Dancer perl 的多个应用程序目录
有没有一种方法可以在 dancer 中拥有一个应用程序,但具有多个应用程序目录。
或者我可以这样做:
我的项目位于 dir 'foo' 中。假设我有一个目录“bar”(不在“foo”内),其中有一个名为“public”的目录。我的应用程序“foo”使用这个公共作为自己的公共,如果它搜索“/css/style.css”并且它不在“/bar/public/”中,它应该搜索“/foo/”民众/'。我怎样才能做到这一点?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
好的,这是一个好方法。它当然可以是一个插件。
你永远不应该通过侵入 Dancer 的核心来做这种事情,你应该总是考虑实现一个路由处理程序来完成这项工作:
这个应用程序运行的一个例子:
OK, here is the good way to do it. It can of course be a plugin.
You should never do this kind of things by hacking inside Dancer's core, you should rather always consider implementing a route handler to do the job:
An example of this app running:
一种方法是编写一个呈现静态的插件(并替换一些功能)。您可以使用 Dancer::Plugin::Thumbnail 作为示例。
我看到的另一种方法是在 get_file_response() ="nofollow">Dancer::Renderer 这并不是一个好主意。
以下代码从
@dirs
数组中查找每个目录中的静态文件。它又脏又丑而且不安全。这可能会在未来的版本中被破坏,并且可能会导致我不熟悉的 Dancer 框架的其他部分出现问题。你被警告了。
第三种方法是让 nginx 通过为您的应用程序编写正确的 nginx 配置来为您完成这项工作。
One of the ways if to write a plugin that renders static (and replaces some functionality). You can use Dancer::Plugin::Thumbnail as an example.
Other way I see is to monkey-patch
get_file_response()
at Dancer::Renderer which is not really such a good idea.Following code looks for static files in each dir from
@dirs
array. It's dirty, ugly and unsafe.This can be broken in future version and may cause problems with other parts of Dancer framework I'm not familiar with. You're warned.
Third ways is to let nginx just do this work for you by writing proper nginx config for your application.
也许这个模块会对您有所帮助?
https://github.com/Perlover/Dancer-Plugin-Hosts
您可以使用自己的 appdir 和 appdir 在 Dancer 中设置虚拟站点。其他目录设置
我今天把这个模块上传到github了
很快就会加入CPAN
May be this module will help to you?
https://github.com/Perlover/Dancer-Plugin-Hosts
You can setup virtual sites in Dancer with own appdir & other directory settings
I uploaded this module today to github
Soon will be in CPAN