如何创建库模块以扩展Dancer2主脚本

时间:2018-01-19 10:41:37

标签: perl dancer

我想创建一个相对复杂的Web应用程序。为此,我发现使用提供的Dancer2(特定于域的语言)的DSL编程方式非常方便。我也发现提供的图书馆非常好。

根据文档,如果您想在多个库中拆分主脚本,可以使用:

use Dancer2 appname => 'MyApp';

其他库的开头。这非常有用,但我想更进一步,定义一个主库使用的库,以模块化方式添加更多功能。我试过了:

package MyLibrary;
use Dancer2 appname => 'MyApp';

然后,为了导出变量和函数:

require Exporter;
our (@ISA, @EXPORT, @EXPORT_OK);
@ISA       = qw(Exporter);
@EXPORT    = qw( func1 func2 );
@EXPORT_OK = qw( func3 );

但我发现这些定义不会导出。我仍然可以通过 long 方式MyLibrary::func1访问主脚本中的任何功能,但不能使用func1。只要我添加use Dancer2 appname => 'MyApp';,就会发生这种情况。但如果我不这样做,我就无法从库内部访问任何特定于应用程序的数据。假设我想检查config->{myoption}等配置选项。

那么,我是否想尝试以不同的方式完成某些事情?有没有解决的办法?我使用的是Dancer2版本0.205002。

0 个答案:

没有答案