Mojolicious 경로 구성
기본 구조는 (문서에서 제거됨 - Growing )
myapp                      # Application directory
|- script                  # Script directory
|  +- my_app               # Application script
|- lib                     # Library directory
|  |- MyApp.pm             # Application class
|  +- MyApp                # Application namespace
|     +- Controller        # Controller namespace
|        +- Example.pm     # Controller class
|- my_app.yml              # Configuration file
|- t                       # Test directory
|  +- basic.t              # Random test
|- log                     # Log directory
|  +- development.log      # Development mode log file
|- public                  # Static file directory (served automatically)
|  +- index.html           # Static HTML file
+- templates               # Template directory
   |- layouts              # Template directory for layouts
   |  +- default.html.ep   # Layout template
   +- example              # Template directory for "Example" controller
      +- welcome.html.ep   # Template for "welcome" action
MyApp.pm은 경로, 앱 설정 및 플러그인을 정의하는 핵심 파일입니다. 내 앱을 성장시키면서 해당 pm 파일이 경로를 포함하여 매우 커졌고(200줄 이상) 무언가를 해야 했습니다. 프로젝트가 커지면 경로에 플러그인을 사용하는 것이 가장 좋다는 개발자의 말을 읽은 것을 기억합니다.
Route > user.pm이라는 lib 아래에 폴더와 파일을 만들었습니다.
나는 일반적으로 이 패턴을 따르므로 내 URL이/user/lookup인 경우
내 모든/user 경로를 처리할 Route/user.pm이라는 경로 파일이 있습니다.
다음은 플러그인의 모습입니다.
lib/MyApp/route/user.pm 아래
package MyApp::Route::User;
use Mojo::Base 'Mojolicious::Plugin', -signatures;
sub register ($self, $app, $r) {
  $r->get('/user/lookup')->to('user#lookup');
}
1;
이제 lib 아래의 MyApp.pm에 추가합니다.
my $r = $self->routes; #this should be somewhere already in the pm file.
$self->plugin('MyApp::Route::User', $r);
이렇게 하면 MyApp.pm에서 수많은 줄이 제거되고 작업이 필요할 때 경로를 쉽게 찾을 수 있습니다.
Reference
이 문제에 관하여(Mojolicious 경로 구성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/scotticles/organizing-mojolicious-routes-2pic텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)